Add best practices doc PiperOrigin-RevId: 154734540
diff --git a/site/_layouts/documentation.html b/site/_layouts/documentation.html index 676d616..4f77d61 100644 --- a/site/_layouts/documentation.html +++ b/site/_layouts/documentation.html
@@ -84,6 +84,7 @@ <li><a href="{{ page.version_prefix }}/docs/command-line-reference.html">Command-line Reference</a></li> <li><a href="{{ page.version_prefix }}/docs/output_directories.html">Output Directories</a></li> <li><a href="{{ page.version_prefix }}/docs/windows.html">Bazel on Windows</a></li> + <li><a href="{{ page.version_prefix }}/docs/best-practices.html">Best Practices</a></li> </ul> {% include be-nav.html %} <h3>Extensions</h3>
diff --git a/site/docs/best-practices.md b/site/docs/best-practices.md new file mode 100644 index 0000000..e936d31 --- /dev/null +++ b/site/docs/best-practices.md
@@ -0,0 +1,4 @@ +--- +layout: redirect +redirect: docs/best-practices.html +---
diff --git a/site/versions/master/docs/best-practices.md b/site/versions/master/docs/best-practices.md new file mode 100644 index 0000000..a1f84d7 --- /dev/null +++ b/site/versions/master/docs/best-practices.md
@@ -0,0 +1,321 @@ +--- +layout: documentation +title: Best practices +--- + +# Best practices for Bazel + +This document assumes that you are familiar with Bazel and provides advice on structuring your +projects to take full advantage of Bazel's features. + +The overall goals are: + +- To use fine-grained dependencies to allow parallelism and incrementality. +- To keep dependencies well-encapsulated. +- To make code well-structured and testable. +- To create a build configuration that is easy to understand and maintain. + +These guidelines are not requirements: few projects will be able to adhere to all of them. As the +man page for lint says, "A special reward will be presented to the first person to produce a real +program that produces no errors with strict checking." However, incorporating as many of these +principles as possible should make a project more readable, less error-prone, and faster to build. + +This document uses the requirement levels described in +[this RFC](https://www.ietf.org/rfc/rfc2119.txt). + +## Contents + +- [General structure](#general-structure) + - [Running builds and tests](#running-builds-and-tests) + - [Third party dependencies](#third-party-dependencies) + - [Depending on binaries](#depending-on-binaries) + - [Versioning](#versioning) + - [.bazelrc](#bazelrc) + - [Packages](#packages) +- [BUILD files](#build-files) + - [BUILD file style guide](#build-file-style-guide) + - [Formatting](#formatting) + - [References to targets in the current package](#references-to-targets-in-the-current-package) + - [Target naming](#target-naming) + - [Visibility](#visibility) + - [Dependencies](#dependencies) + - [Globs](#globs) +- [Skylark](#skylark) + - [Skylark style guide](#skylark-style-guide) + - [Packaging rules](#packaging-rules) + - [Rule choice](#rule-choice) +- [WORKSPACE files](#workspace-files) + - [Repository rules](#repository-rules) + - [Custom BUILD files](#custom-build-files) + - [Skylark repository rules](#skylark-repository-rules) +- [Java](#java) + - [Directory structure](#directory-structure) + - [BUILD files](#build-files) +- [C++](#c) + - [BUILD files](#build-files) + - [Include paths](#include-paths) +- [Protos](#protos) + - [Recommended Code Organization](#recommended-code-organization) + +# General structure + +## Running builds and tests + +A project should always be able to run `bazel build //...` and `bazel test //...` successfully on +its stable branch. Targets that are necessary but do not build under certain circumstances (e.g., +require specific build flags, do not build on a certain platform, require license agreements) +should be tagged as specifically as possible (e.g., "`requires-osx`"). This tagging allows +targets to be filtered at a more fine-grained level than the "manual" tag and allows someone +inspecting the BUILD file to understand what a target's restrictions are. + +## Third party dependencies + +Prefer declaring third party dependencies as remote repositories in the WORKSPACE file. If it's +necessary to check third party dependencies into your repository, put them in a directory called +`third_party/` under your workspace directory. Note that all BUILD files in `third_party/` must +include [license](https://bazel.build/versions/master/docs/be/functions.html#licenses) +declarations. + +## Depending on binaries + +Everything should be built from source whenever possible. Generally this means that, instead of +depending on a library `some-library.so`, you'd create a BUILD file and build `some-library.so` +from its sources, then depend on that target. + +Building from source prevents a build from using an library that was build with incompatible flags +or a different architecture. There are also some features like coverage, static analysis, or +dynamic analysis that will only work on the source. + +## Versioning + +Prefer building all code from head whenever possible. When versions must be used, avoid including +the version in the target name (e.g., `//guava`, not `//guava-20.0`). This naming makes the library +easier to update (only one target needs to be updated). It is also more resilient to diamond +dependency issues: if one library depends on `guava-19.0` and one depends on `guava-20.0`, you +could end up with a library that tries to depend on two different versions. If you created a +misleading alias to point both targets to one guava library, then the BUILD files are misleading. + +## `.bazelrc` + +For project-specific options, use the configuration file `_your-workspace_/tools/bazel.rc`. + +For options that you **do not** want to check into source control, create the configuration file +`_your-workspace_/.bazelrc` and add `.bazelrc` to your `.gitignore`. Note that this file has a +different name than the file above (`bazel.rc` vs `.bazelrc`). + +## Packages + +Every directory that contains buildable files should be a package. If a BUILD file refers to files +in subdirectories (e.g., `srcs = ["a/b/C.java"]`) it is a sign that a BUILD file should be added to +that subdirectory. The longer this structure exists, the more likely circular dependencies will be +inadvertently created, a target's scope will creep, and an increasing number of reverse +dependencies will have to be updated. + +# BUILD files + +## BUILD file style guide + +See the [BUILD file style +guide](https://bazel.build/versions/master/docs/skylark/build-style.html). + +## Formatting + +[Buildifier](https://github.com/bazelbuild/buildifier) should be used to achieve the correct +formatting for BUILD files. Editors should be configured to automatically format BUILD files on +save. Humans should not try to format BUILD files themselves. + +If there is a question as to what the correct formatting is, the answer is "how buildifier formats +it." + +## References to targets in the current package + +Files should be referred to by their paths relative to the package directory (without ever using +up-references, such as `..`). Generated files should be prefixed with "`:`" to indicate that they +are not sources. Source files should not be prefixed with `:`. Rules should be prefixed with `:`. +For example, assuming `x.cc` is a source file: + +```python +cc_library( + name = "lib", + srcs = ["x.cc"], + hdrs = [":gen-header"], +) + +genrule( + name = "gen-header", + srcs = [], + outs = ["x.h"], + cmd = "echo 'int x();' > $@", +) +``` + +## Target naming + +Target names should be descriptive. If a target contains one source file, the target should +generally be named after that source (e.g., a `cc_library` for `chat.cc` should be named "`chat`"). + +The eponymous target for a package (the target with the same name as the containing directory) +should provide the functionality described by the directory name. If there is no such target, do +not create an eponymous target. + +Prefer using the short name when referring to an eponymous target (`//x` instead of `//x:x`). If +you are in the same package, prefer the local reference (`:x` instead of `//x`). + +## Visibility + +Do not set the default visibility of a package to `//visibility:public`. `//visibility:public` +should be individually set for targets in the project's public API. These could be libraries which +are designed to be depended on by external projects or binaries that could be used by an external +project's build process. + +Otherwise, visibility should be scoped as tightly as possible, while still allowing access by tests +and reverse dependencies. Prefer using `__pkg__` to `__subpackages__`. + +## Dependencies + +Dependencies should be restricted to direct dependencies (dependencies needed by the sources listed +in the rule). Do not list transitive dependencies. + +Package-local dependencies should be listed first and referred to in a way compatible with the +[References to targets in the current package](#references-to-targets-in-the-current-package) +section above (not by their absolute package name). + +## Globs + +Do not use recursive globs (e.g., `glob(["**/*.java"])`). Recursive globs make BUILD files +difficult to read, as they skip subdirectories containing BUILD files. Non-recursive globs are +generally acceptable, see language-specific advice below for details. + +Indicate "no targets" with `[]`. Do not use a glob that matches nothing: it is more error-prone and +less obvious than an empty list. + +# Skylark + +## Skylark style guide + +See the [Style guide for .bzl +files](https://bazel.build/versions/master/docs/skylark/bzl-style.html) for Skylark rule guidelines. + +## Packaging rules + +See [Packaging rules](https://bazel.build/versions/master/docs/skylark/deploying.html) for advice +on how to structure and where to put new Skylark rules. + +## Rule choice + +When using a language for which Bazel has built-in rules (e.g., C++), prefer using these rules to +writing your own in Skylark. These rules are documented in the [build +encyclopedia](https://bazel.build/versions/master/docs/be/overview.html). + +# WORKSPACE files + +## Repository rules + +Prefer `http_archive` and `new_http_archive` to `git_repository`, `new_git_repository`, and +`maven_jar`. + +`git_repository` depends on jGit, which has several unpleasant bugs, and `maven_jar` uses Maven's +internal API, which generally works but is less optimized for Bazel than `http_archive`'s +downloader logic. Track the following issues filed to remediate these problems: + +- [Use `http_archive` as `git_repository`'s + backend.](https://github.com/bazelbuild/bazel/issues/2147) +- [Improve `maven_jar`'s backend.](https://github.com/bazelbuild/bazel/issues/1752) + +Do not use `bind()`. See "[Consider removing +bind](https://github.com/bazelbuild/bazel/issues/1952)" for a long discussion of its issues and +alternatives. + +## Custom BUILD files + +When using a `new_` repository rule, prefer to specify `build_file_content`, not `build_file`. + +## Skylark repository rules + +A Skylark repository rule should generally be responsible for: + +- Detecting system settings and writing them to files. +- Finding resources elsewhere on the system. +- Downloading resources from URLs. +- Generating or symlinking BUILD files into the external repository directory. + +Avoid using `repository_ctx.execute` when possible. For example, when using a non-Bazel C++ +library that has a build using Make, it is preferable to use `respository_ctx.download()` and then +write a BUILD file that builds it, instead of running `ctx.execute(["make"])`. + +# Java + +## Directory structure + +Prefer Maven's standard directory layout (sources under `src/main/java`, tests under +`src/test/java`). + +## BUILD files + +Use one BUILD file per package containing Java sources. Every BUILD file should contain one +`java_library` rule that looks like this: + +```python +java_library( + name = "directory-name", + srcs = glob(["*.java"]), + deps = [...], +) +``` + +The name of the library should be the name of the directory containing the BUILD file. The sources +should be a non-recursive glob of all Java files in the directory. + +Tests should be in a matching directory under `src/test` and depend on this library. + +# C++ + +## BUILD files + +Each BUILD file should contain one `cc_library` rule target per compilation unit in the directory. +C++ libraries should be as fine-grained as possible to provide as much incrementality as possible. + +If there is a single source file in `srcs`, the library should be named based on that C++ file's +name. This library should contain a C++ file(s), any matching header file(s), and the library's +direct dependencies. For example, + +```python +cc_library( + name = "mylib", + srcs = ["mylib.cc"], + hdrs = ["mylib.h"], + deps = [":lower-level-lib"] +) +``` + +There should be one `cc_test` rule target per `cc_library` target in the file. The `cc_test`'s +source should be a file named `[libname]_test.cc`. For example, a test for the target above might +look like: + +``` +cc_test( + name = "mylib_test", + srcs = ["mylib_test.cc"], + deps = [":mylib"] +) +``` + +## Include paths + +All include paths should be relative to the workspace directory. Use `includes` only if a public +header needs to be widely used at a non-workspace-relative path (for legacy or `third_party` code). +Otherwise, prefer to use the `copts` attribute, not the `includes` attribute. + +Using `cc_inc_library` is discouraged, prefer `copts` or `includes`. +See [the design document](https://docs.google.com/document/d/18qUWh0uUiJBv6ZOySvp6DEV0NjVnBoEy-r-ZHa9cmhU/edit#heading=h.kmep1cl5ym9k) +on C++ include directories for reasoning. + +# Protos + +## Recommended Code Organization + +- One `proto_library` rule per `.proto` file. +- A file named `foo.proto` will be in a rule named `foo_proto`, which is located in the same + package. +- A `[language]_proto_library` that wraps a `proto_library` named `foo_proto` should be called + `foo_[language]_proto`, and be located in the same package.
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/ndk12bfiles.txt b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/ndk12bfiles.txt index e293d12..ee3e450 100644 --- a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/ndk12bfiles.txt +++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/ndk12bfiles.txt
@@ -1,4 +1,256 @@ -rces/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp +sic.string/string.modifiers/string_assign/pointer_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_assign/rv_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_assign/size_char.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_assign/string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_erase/erase_iter_db1.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_erase/erase_iter_db2.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_erase/erase_iter_iter_db1.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_erase/erase_iter_iter_db2.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_erase/erase_iter_iter_db3.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_erase/erase_iter_iter_db4.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_erase/iter_iter.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_erase/iter.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_erase/pop_back.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_insert/iter_char.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_insert/iter_initializer_list.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_insert/iter_size_char.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_op_plus_equal/char.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_op_plus_equal/initializer_list.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_op_plus_equal/pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_op_plus_equal/string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_replace/iter_iter_initializer_list.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_replace/iter_iter_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_replace/iter_iter_pointer_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_replace/iter_iter_size_char.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_replace/iter_iter_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.modifiers/string_swap/swap.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/nothing_to_do.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string.io/get_line_delim.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string.io/get_line_delim_rv.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string.io/get_line.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string.io/get_line_rv.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string.io/stream_extract.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string.io/stream_insert.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_op+/char_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_op!EQ/pointer_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_op!EQ/string_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_op!EQ/string_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_operatorEQEQ/pointer_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_operatorEQEQ/string_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_operatorEQEQ/string_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_operator==/pointer_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_operator==/string_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_operator==/string_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opgtEQ/pointer_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opgtEQ/string_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opgtEQ/string_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opgt=/pointer_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/pointer_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opgt=/string_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/string_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opgt=/string_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opgt/string_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opltEQ/pointer_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opltEQ/string_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_opltEQ/string_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_oplt=/pointer_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_oplt/pointer_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_oplt=/string_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_oplt/string_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_oplt=/string_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_oplt/string_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_op!=/pointer_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_op+/pointer_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_op+/string_char.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_op!=/string_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_op+/string_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_op!=/string_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string_op+/string_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string.special/swap_noexcept.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.nonmembers/string.special/swap.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/nothing_to_do.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string.accessors/c_str.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string.accessors/data.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string.accessors/get_allocator.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_compare/pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_compare/string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find/char_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.first.not.of/char_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.first.not.of/pointer_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.first.not.of/pointer_size_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.first.not.of/string_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.first.of/char_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.first.of/pointer_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.first.of/pointer_size_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.first.of/string_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.last.not.of/char_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.last.not.of/pointer_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.last.not.of/pointer_size_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.last.not.of/string_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.last.of/char_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.last.of/pointer_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.last.of/pointer_size_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find.last.of/string_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find/pointer_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find/pointer_size_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_find/string_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_rfind/char_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_rfind/pointer_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_rfind/pointer_size_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_rfind/string_size.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.ops/string_substr/substr.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/string.require/nothing_to_do.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/test_traits.h +sources/cxx-stl/llvm-libc++/libcxx/test/strings/basic.string/types.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.require/nothing_to_do.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/assign2.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/assign3.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/compare.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/copy.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eof.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eq_int_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eq.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/find.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/length.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/lt.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/move.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/not_eof.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/to_char_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/to_int_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/types.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/assign2.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/assign3.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/compare.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/copy.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eof.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eq_int_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eq.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/find.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/length.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/lt.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/move.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/not_eof.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/to_char_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/to_int_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/types.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/assign2.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/assign3.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/compare.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/copy.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/eof.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/eq_int_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/eq.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/find.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/length.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/lt.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/move.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/not_eof.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/to_char_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/to_int_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.char/types.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/assign2.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/assign3.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/compare.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/copy.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/eof.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/eq_int_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/eq.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/find.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/length.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/lt.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/move.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/not_eof.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/to_char_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/to_int_type.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/types.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.specializations/nothing_to_do.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/char.traits.typedefs/nothing_to_do.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/char.traits/nothing_to_do.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/c.strings/cctype.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/c.strings/cstring.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/c.strings/cuchar.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/c.strings/cwchar.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/c.strings/cwctype.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/c.strings/version_cctype.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/c.strings/version_cstring.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/c.strings/version_cuchar.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/c.strings/version_cwchar.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/c.strings/version_cwctype.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/string.classes/typedefs.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/string.conversions/stod.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/string.conversions/stof.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/string.conversions/stoi.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/string.conversions/stold.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/string.conversions/stoll.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/string.conversions/stol.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/string.conversions/stoull.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/string.conversions/stoul.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/string.conversions/to_string.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/string.conversions/to_wstring.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/strings.general/nothing_to_do.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/strings/version.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/support/allocators.h +sources/cxx-stl/llvm-libc++/libcxx/test/support/asan_testing.h +sources/cxx-stl/llvm-libc++/libcxx/test/support/DefaultOnly.h +sources/cxx-stl/llvm-libc++/libcxx/test/support/hexfloat.h +sources/cxx-stl/llvm-libc++/libcxx/test/support/min_allocator.h +sources/cxx-stl/llvm-libc++/libcxx/test/support/nasty_containers.hpp +sources/cxx-stl/llvm-libc++/libcxx/test/support/nothing_to_do.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/support/platform_support.h +sources/cxx-stl/llvm-libc++/libcxx/test/support/private_constructor.hpp +sources/cxx-stl/llvm-libc++/libcxx/test/support/test_allocator.h +sources/cxx-stl/llvm-libc++/libcxx/test/support/test_iterators.h +sources/cxx-stl/llvm-libc++/libcxx/test/testit +sources/cxx-stl/llvm-libc++/libcxx/test/testit_android +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.async/async.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.errors/default_error_condition.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.errors/future_category.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.errors/make_error_code.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.errors/make_error_condition.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.future_error/code.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.future_error/types.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.future_error/what.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.overview/future_errc.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.overview/future_status.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.overview/is_error_code_enum_future_errc.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.overview/launch.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/alloc_ctor.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/copy_assign.fail.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/copy_ctor.fail.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/default.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/dtor.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/get_future.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/move_assign.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/move_ctor.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/set_exception.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/set_lvalue.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/set_rvalue.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp +sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/set_value_const.pass.cpp sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/set_value_void.pass.cpp sources/cxx-stl/llvm-libc++/libcxx/test/thread/futures/futures.promise/swap.pass.cpp
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/ndkfiles.txt b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/ndkfiles.txt index d06793f..9fc996a 100644 --- a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/ndkfiles.txt +++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/ndkfiles.txt
@@ -1,4 +1,446 @@ -id-21/arch-x86_64/usr/include/linux/netfilter/xt_helper.h +orms/android-21/arch-x86_64/usr/include/asm-generic/unistd.h +platforms/android-21/arch-x86_64/usr/include/asm/hw_breakpoint.h +platforms/android-21/arch-x86_64/usr/include/asm/hyperv.h +platforms/android-21/arch-x86_64/usr/include/asm/ioctl.h +platforms/android-21/arch-x86_64/usr/include/asm/ioctls.h +platforms/android-21/arch-x86_64/usr/include/asm/ipcbuf.h +platforms/android-21/arch-x86_64/usr/include/asm/ist.h +platforms/android-21/arch-x86_64/usr/include/asm/ldt.h +platforms/android-21/arch-x86_64/usr/include/asm/mce.h +platforms/android-21/arch-x86_64/usr/include/asm/mman.h +platforms/android-21/arch-x86_64/usr/include/asm/msgbuf.h +platforms/android-21/arch-x86_64/usr/include/asm/msr.h +platforms/android-21/arch-x86_64/usr/include/asm/msr-index.h +platforms/android-21/arch-x86_64/usr/include/asm/mtrr.h +platforms/android-21/arch-x86_64/usr/include/asm/param.h +platforms/android-21/arch-x86_64/usr/include/asm/perf_regs.h +platforms/android-21/arch-x86_64/usr/include/asm/poll.h +platforms/android-21/arch-x86_64/usr/include/asm/posix_types_32.h +platforms/android-21/arch-x86_64/usr/include/asm/posix_types_64.h +platforms/android-21/arch-x86_64/usr/include/asm/posix_types.h +platforms/android-21/arch-x86_64/usr/include/asm/posix_types_x32.h +platforms/android-21/arch-x86_64/usr/include/asm/prctl.h +platforms/android-21/arch-x86_64/usr/include/asm/processor-flags.h +platforms/android-21/arch-x86_64/usr/include/asm/ptrace-abi.h +platforms/android-21/arch-x86_64/usr/include/asm/ptrace.h +platforms/android-21/arch-x86_64/usr/include/asm/resource.h +platforms/android-21/arch-x86_64/usr/include/asm/sembuf.h +platforms/android-21/arch-x86_64/usr/include/asm/setup.h +platforms/android-21/arch-x86_64/usr/include/asm/shmbuf.h +platforms/android-21/arch-x86_64/usr/include/asm/sigcontext32.h +platforms/android-21/arch-x86_64/usr/include/asm/sigcontext.h +platforms/android-21/arch-x86_64/usr/include/asm/siginfo.h +platforms/android-21/arch-x86_64/usr/include/asm/signal.h +platforms/android-21/arch-x86_64/usr/include/asm/socket.h +platforms/android-21/arch-x86_64/usr/include/asm/sockios.h +platforms/android-21/arch-x86_64/usr/include/asm/statfs.h +platforms/android-21/arch-x86_64/usr/include/asm/stat.h +platforms/android-21/arch-x86_64/usr/include/asm/svm.h +platforms/android-21/arch-x86_64/usr/include/asm/swab.h +platforms/android-21/arch-x86_64/usr/include/asm/termbits.h +platforms/android-21/arch-x86_64/usr/include/asm/termios.h +platforms/android-21/arch-x86_64/usr/include/asm/types.h +platforms/android-21/arch-x86_64/usr/include/asm/ucontext.h +platforms/android-21/arch-x86_64/usr/include/asm/unistd_32.h +platforms/android-21/arch-x86_64/usr/include/asm/unistd_64.h +platforms/android-21/arch-x86_64/usr/include/asm/unistd.h +platforms/android-21/arch-x86_64/usr/include/asm/unistd_x32.h +platforms/android-21/arch-x86_64/usr/include/asm/vm86.h +platforms/android-21/arch-x86_64/usr/include/asm/vmx.h +platforms/android-21/arch-x86_64/usr/include/asm/vsyscall.h +platforms/android-21/arch-x86_64/usr/include/assert.h +platforms/android-21/arch-x86_64/usr/include/byteswap.h +platforms/android-21/arch-x86_64/usr/include/complex.h +platforms/android-21/arch-x86_64/usr/include/ctype.h +platforms/android-21/arch-x86_64/usr/include/dirent.h +platforms/android-21/arch-x86_64/usr/include/dlfcn.h +platforms/android-21/arch-x86_64/usr/include/EGL/eglext.h +platforms/android-21/arch-x86_64/usr/include/EGL/egl.h +platforms/android-21/arch-x86_64/usr/include/EGL/eglplatform.h +platforms/android-21/arch-x86_64/usr/include/elf.h +platforms/android-21/arch-x86_64/usr/include/endian.h +platforms/android-21/arch-x86_64/usr/include/err.h +platforms/android-21/arch-x86_64/usr/include/errno.h +platforms/android-21/arch-x86_64/usr/include/fcntl.h +platforms/android-21/arch-x86_64/usr/include/features.h +platforms/android-21/arch-x86_64/usr/include/fenv.h +platforms/android-21/arch-x86_64/usr/include/fnmatch.h +platforms/android-21/arch-x86_64/usr/include/fts.h +platforms/android-21/arch-x86_64/usr/include/ftw.h +platforms/android-21/arch-x86_64/usr/include/getopt.h +platforms/android-21/arch-x86_64/usr/include/GLES2/gl2ext.h +platforms/android-21/arch-x86_64/usr/include/GLES2/gl2.h +platforms/android-21/arch-x86_64/usr/include/GLES2/gl2platform.h +platforms/android-21/arch-x86_64/usr/include/GLES3/gl31.h +platforms/android-21/arch-x86_64/usr/include/GLES3/gl3ext.h +platforms/android-21/arch-x86_64/usr/include/GLES3/gl3.h +platforms/android-21/arch-x86_64/usr/include/GLES3/gl3platform.h +platforms/android-21/arch-x86_64/usr/include/GLES/glext.h +platforms/android-21/arch-x86_64/usr/include/GLES/gl.h +platforms/android-21/arch-x86_64/usr/include/GLES/glplatform.h +platforms/android-21/arch-x86_64/usr/include/grp.h +platforms/android-21/arch-x86_64/usr/include/i386/elf_machdep.h +platforms/android-21/arch-x86_64/usr/include/inttypes.h +platforms/android-21/arch-x86_64/usr/include/jni.h +platforms/android-21/arch-x86_64/usr/include/KHR/khrplatform.h +platforms/android-21/arch-x86_64/usr/include/lastlog.h +platforms/android-21/arch-x86_64/usr/include/libgen.h +platforms/android-21/arch-x86_64/usr/include/limits.h +platforms/android-21/arch-x86_64/usr/include/link.h +platforms/android-21/arch-x86_64/usr/include/linux/acct.h +platforms/android-21/arch-x86_64/usr/include/linux/adb.h +platforms/android-21/arch-x86_64/usr/include/linux/adfs_fs.h +platforms/android-21/arch-x86_64/usr/include/linux/affs_hardblocks.h +platforms/android-21/arch-x86_64/usr/include/linux/agpgart.h +platforms/android-21/arch-x86_64/usr/include/linux/aio_abi.h +platforms/android-21/arch-x86_64/usr/include/linux/android_alarm.h +platforms/android-21/arch-x86_64/usr/include/linux/a.out.h +platforms/android-21/arch-x86_64/usr/include/linux/apm_bios.h +platforms/android-21/arch-x86_64/usr/include/linux/arcfb.h +platforms/android-21/arch-x86_64/usr/include/linux/ashmem.h +platforms/android-21/arch-x86_64/usr/include/linux/atalk.h +platforms/android-21/arch-x86_64/usr/include/linux/atmapi.h +platforms/android-21/arch-x86_64/usr/include/linux/atmarp.h +platforms/android-21/arch-x86_64/usr/include/linux/atmbr2684.h +platforms/android-21/arch-x86_64/usr/include/linux/atmclip.h +platforms/android-21/arch-x86_64/usr/include/linux/atmdev.h +platforms/android-21/arch-x86_64/usr/include/linux/atm_eni.h +platforms/android-21/arch-x86_64/usr/include/linux/atm.h +platforms/android-21/arch-x86_64/usr/include/linux/atm_he.h +platforms/android-21/arch-x86_64/usr/include/linux/atm_idt77105.h +platforms/android-21/arch-x86_64/usr/include/linux/atmioc.h +platforms/android-21/arch-x86_64/usr/include/linux/atmlec.h +platforms/android-21/arch-x86_64/usr/include/linux/atmmpc.h +platforms/android-21/arch-x86_64/usr/include/linux/atm_nicstar.h +platforms/android-21/arch-x86_64/usr/include/linux/atmppp.h +platforms/android-21/arch-x86_64/usr/include/linux/atmsap.h +platforms/android-21/arch-x86_64/usr/include/linux/atmsvc.h +platforms/android-21/arch-x86_64/usr/include/linux/atm_tcp.h +platforms/android-21/arch-x86_64/usr/include/linux/atm_zatm.h +platforms/android-21/arch-x86_64/usr/include/linux/audit.h +platforms/android-21/arch-x86_64/usr/include/linux/auto_fs4.h +platforms/android-21/arch-x86_64/usr/include/linux/auto_fs.h +platforms/android-21/arch-x86_64/usr/include/linux/auxvec.h +platforms/android-21/arch-x86_64/usr/include/linux/ax25.h +platforms/android-21/arch-x86_64/usr/include/linux/b1lli.h +platforms/android-21/arch-x86_64/usr/include/linux/baycom.h +platforms/android-21/arch-x86_64/usr/include/linux/bcache.h +platforms/android-21/arch-x86_64/usr/include/linux/bcm933xx_hcs.h +platforms/android-21/arch-x86_64/usr/include/linux/bfs_fs.h +platforms/android-21/arch-x86_64/usr/include/linux/binder.h +platforms/android-21/arch-x86_64/usr/include/linux/binfmts.h +platforms/android-21/arch-x86_64/usr/include/linux/blkpg.h +platforms/android-21/arch-x86_64/usr/include/linux/blktrace_api.h +platforms/android-21/arch-x86_64/usr/include/linux/bpqether.h +platforms/android-21/arch-x86_64/usr/include/linux/bsg.h +platforms/android-21/arch-x86_64/usr/include/linux/btrfs.h +platforms/android-21/arch-x86_64/usr/include/linux/byteorder/big_endian.h +platforms/android-21/arch-x86_64/usr/include/linux/byteorder/little_endian.h +platforms/android-21/arch-x86_64/usr/include/linux/caif/caif_socket.h +platforms/android-21/arch-x86_64/usr/include/linux/caif/if_caif.h +platforms/android-21/arch-x86_64/usr/include/linux/can/bcm.h +platforms/android-21/arch-x86_64/usr/include/linux/can/error.h +platforms/android-21/arch-x86_64/usr/include/linux/can/gw.h +platforms/android-21/arch-x86_64/usr/include/linux/can.h +platforms/android-21/arch-x86_64/usr/include/linux/can/netlink.h +platforms/android-21/arch-x86_64/usr/include/linux/can/raw.h +platforms/android-21/arch-x86_64/usr/include/linux/capability.h +platforms/android-21/arch-x86_64/usr/include/linux/capi.h +platforms/android-21/arch-x86_64/usr/include/linux/cciss_defs.h +platforms/android-21/arch-x86_64/usr/include/linux/cciss_ioctl.h +platforms/android-21/arch-x86_64/usr/include/linux/cdrom.h +platforms/android-21/arch-x86_64/usr/include/linux/cgroupstats.h +platforms/android-21/arch-x86_64/usr/include/linux/chio.h +platforms/android-21/arch-x86_64/usr/include/linux/cifs/cifs_mount.h +platforms/android-21/arch-x86_64/usr/include/linux/cm4000_cs.h +platforms/android-21/arch-x86_64/usr/include/linux/cn_proc.h +platforms/android-21/arch-x86_64/usr/include/linux/coda.h +platforms/android-21/arch-x86_64/usr/include/linux/coda_psdev.h +platforms/android-21/arch-x86_64/usr/include/linux/coff.h +platforms/android-21/arch-x86_64/usr/include/linux/compiler.h +platforms/android-21/arch-x86_64/usr/include/linux/connector.h +platforms/android-21/arch-x86_64/usr/include/linux/const.h +platforms/android-21/arch-x86_64/usr/include/linux/cramfs_fs.h +platforms/android-21/arch-x86_64/usr/include/linux/cuda.h +platforms/android-21/arch-x86_64/usr/include/linux/cyclades.h +platforms/android-21/arch-x86_64/usr/include/linux/cycx_cfm.h +platforms/android-21/arch-x86_64/usr/include/linux/dcbnl.h +platforms/android-21/arch-x86_64/usr/include/linux/dccp.h +platforms/android-21/arch-x86_64/usr/include/linux/dlmconstants.h +platforms/android-21/arch-x86_64/usr/include/linux/dlm_device.h +platforms/android-21/arch-x86_64/usr/include/linux/dlm.h +platforms/android-21/arch-x86_64/usr/include/linux/dlm_netlink.h +platforms/android-21/arch-x86_64/usr/include/linux/dlm_plock.h +platforms/android-21/arch-x86_64/usr/include/linux/dm-ioctl.h +platforms/android-21/arch-x86_64/usr/include/linux/dm-log-userspace.h +platforms/android-21/arch-x86_64/usr/include/linux/dn.h +platforms/android-21/arch-x86_64/usr/include/linux/dqblk_xfs.h +platforms/android-21/arch-x86_64/usr/include/linux/dvb/audio.h +platforms/android-21/arch-x86_64/usr/include/linux/dvb/ca.h +platforms/android-21/arch-x86_64/usr/include/linux/dvb/dmx.h +platforms/android-21/arch-x86_64/usr/include/linux/dvb/frontend.h +platforms/android-21/arch-x86_64/usr/include/linux/dvb/net.h +platforms/android-21/arch-x86_64/usr/include/linux/dvb/osd.h +platforms/android-21/arch-x86_64/usr/include/linux/dvb/version.h +platforms/android-21/arch-x86_64/usr/include/linux/dvb/video.h +platforms/android-21/arch-x86_64/usr/include/linux/edd.h +platforms/android-21/arch-x86_64/usr/include/linux/efs_fs_sb.h +platforms/android-21/arch-x86_64/usr/include/linux/elfcore.h +platforms/android-21/arch-x86_64/usr/include/linux/elf-em.h +platforms/android-21/arch-x86_64/usr/include/linux/elf-fdpic.h +platforms/android-21/arch-x86_64/usr/include/linux/elf.h +platforms/android-21/arch-x86_64/usr/include/linux/errno.h +platforms/android-21/arch-x86_64/usr/include/linux/errqueue.h +platforms/android-21/arch-x86_64/usr/include/linux/ethtool.h +platforms/android-21/arch-x86_64/usr/include/linux/eventpoll.h +platforms/android-21/arch-x86_64/usr/include/linux/fadvise.h +platforms/android-21/arch-x86_64/usr/include/linux/falloc.h +platforms/android-21/arch-x86_64/usr/include/linux/fanotify.h +platforms/android-21/arch-x86_64/usr/include/linux/fb.h +platforms/android-21/arch-x86_64/usr/include/linux/fcntl.h +platforms/android-21/arch-x86_64/usr/include/linux/fd.h +platforms/android-21/arch-x86_64/usr/include/linux/fdreg.h +platforms/android-21/arch-x86_64/usr/include/linux/fib_rules.h +platforms/android-21/arch-x86_64/usr/include/linux/fiemap.h +platforms/android-21/arch-x86_64/usr/include/linux/filter.h +platforms/android-21/arch-x86_64/usr/include/linux/firewire-cdev.h +platforms/android-21/arch-x86_64/usr/include/linux/firewire-constants.h +platforms/android-21/arch-x86_64/usr/include/linux/flat.h +platforms/android-21/arch-x86_64/usr/include/linux/fs.h +platforms/android-21/arch-x86_64/usr/include/linux/fsl_hypervisor.h +platforms/android-21/arch-x86_64/usr/include/linux/fuse.h +platforms/android-21/arch-x86_64/usr/include/linux/futex.h +platforms/android-21/arch-x86_64/usr/include/linux/gameport.h +platforms/android-21/arch-x86_64/usr/include/linux/genetlink.h +platforms/android-21/arch-x86_64/usr/include/linux/gen_stats.h +platforms/android-21/arch-x86_64/usr/include/linux/genwqe/genwqe_card.h +platforms/android-21/arch-x86_64/usr/include/linux/gfs2_ondisk.h +platforms/android-21/arch-x86_64/usr/include/linux/gigaset_dev.h +platforms/android-21/arch-x86_64/usr/include/linux/hash_info.h +platforms/android-21/arch-x86_64/usr/include/linux/hdlcdrv.h +platforms/android-21/arch-x86_64/usr/include/linux/hdlc.h +platforms/android-21/arch-x86_64/usr/include/linux/hdlc/ioctl.h +platforms/android-21/arch-x86_64/usr/include/linux/hdreg.h +platforms/android-21/arch-x86_64/usr/include/linux/hiddev.h +platforms/android-21/arch-x86_64/usr/include/linux/hid.h +platforms/android-21/arch-x86_64/usr/include/linux/hidraw.h +platforms/android-21/arch-x86_64/usr/include/linux/hpet.h +platforms/android-21/arch-x86_64/usr/include/linux/hsi/hsi_char.h +platforms/android-21/arch-x86_64/usr/include/linux/hsr_netlink.h +platforms/android-21/arch-x86_64/usr/include/linux/hw_breakpoint.h +platforms/android-21/arch-x86_64/usr/include/linux/hysdn_if.h +platforms/android-21/arch-x86_64/usr/include/linux/i2c-dev.h +platforms/android-21/arch-x86_64/usr/include/linux/i2c.h +platforms/android-21/arch-x86_64/usr/include/linux/i2o-dev.h +platforms/android-21/arch-x86_64/usr/include/linux/i8k.h +platforms/android-21/arch-x86_64/usr/include/linux/icmp.h +platforms/android-21/arch-x86_64/usr/include/linux/icmpv6.h +platforms/android-21/arch-x86_64/usr/include/linux/if_addr.h +platforms/android-21/arch-x86_64/usr/include/linux/if_addrlabel.h +platforms/android-21/arch-x86_64/usr/include/linux/if_alg.h +platforms/android-21/arch-x86_64/usr/include/linux/if_arcnet.h +platforms/android-21/arch-x86_64/usr/include/linux/if_arp.h +platforms/android-21/arch-x86_64/usr/include/linux/if_bonding.h +platforms/android-21/arch-x86_64/usr/include/linux/if_bridge.h +platforms/android-21/arch-x86_64/usr/include/linux/if_cablemodem.h +platforms/android-21/arch-x86_64/usr/include/linux/if_eql.h +platforms/android-21/arch-x86_64/usr/include/linux/if_ether.h +platforms/android-21/arch-x86_64/usr/include/linux/if_fc.h +platforms/android-21/arch-x86_64/usr/include/linux/if_fddi.h +platforms/android-21/arch-x86_64/usr/include/linux/if_frad.h +platforms/android-21/arch-x86_64/usr/include/linux/if.h +platforms/android-21/arch-x86_64/usr/include/linux/if_hippi.h +platforms/android-21/arch-x86_64/usr/include/linux/if_infiniband.h +platforms/android-21/arch-x86_64/usr/include/linux/if_link.h +platforms/android-21/arch-x86_64/usr/include/linux/if_ltalk.h +platforms/android-21/arch-x86_64/usr/include/linux/if_packet.h +platforms/android-21/arch-x86_64/usr/include/linux/if_phonet.h +platforms/android-21/arch-x86_64/usr/include/linux/if_plip.h +platforms/android-21/arch-x86_64/usr/include/linux/if_ppp.h +platforms/android-21/arch-x86_64/usr/include/linux/if_pppol2tp.h +platforms/android-21/arch-x86_64/usr/include/linux/if_pppolac.h +platforms/android-21/arch-x86_64/usr/include/linux/if_pppopns.h +platforms/android-21/arch-x86_64/usr/include/linux/if_pppox.h +platforms/android-21/arch-x86_64/usr/include/linux/if_slip.h +platforms/android-21/arch-x86_64/usr/include/linux/if_team.h +platforms/android-21/arch-x86_64/usr/include/linux/if_tun.h +platforms/android-21/arch-x86_64/usr/include/linux/if_tunnel.h +platforms/android-21/arch-x86_64/usr/include/linux/if_vlan.h +platforms/android-21/arch-x86_64/usr/include/linux/if_x25.h +platforms/android-21/arch-x86_64/usr/include/linux/igmp.h +platforms/android-21/arch-x86_64/usr/include/linux/in6.h +platforms/android-21/arch-x86_64/usr/include/linux/inet_diag.h +platforms/android-21/arch-x86_64/usr/include/linux/in.h +platforms/android-21/arch-x86_64/usr/include/linux/inotify.h +platforms/android-21/arch-x86_64/usr/include/linux/input.h +platforms/android-21/arch-x86_64/usr/include/linux/in_route.h +platforms/android-21/arch-x86_64/usr/include/linux/ioctl.h +platforms/android-21/arch-x86_64/usr/include/linux/ion.h +platforms/android-21/arch-x86_64/usr/include/linux/ioprio.h +platforms/android-21/arch-x86_64/usr/include/linux/ip6_tunnel.h +platforms/android-21/arch-x86_64/usr/include/linux/ipc.h +platforms/android-21/arch-x86_64/usr/include/linux/ip.h +platforms/android-21/arch-x86_64/usr/include/linux/ipmi.h +platforms/android-21/arch-x86_64/usr/include/linux/ipmi_msgdefs.h +platforms/android-21/arch-x86_64/usr/include/linux/ipsec.h +platforms/android-21/arch-x86_64/usr/include/linux/ipv6.h +platforms/android-21/arch-x86_64/usr/include/linux/ipv6_route.h +platforms/android-21/arch-x86_64/usr/include/linux/ip_vs.h +platforms/android-21/arch-x86_64/usr/include/linux/ipx.h +platforms/android-21/arch-x86_64/usr/include/linux/irda.h +platforms/android-21/arch-x86_64/usr/include/linux/irqnr.h +platforms/android-21/arch-x86_64/usr/include/linux/isdn/capicmd.h +platforms/android-21/arch-x86_64/usr/include/linux/isdn_divertif.h +platforms/android-21/arch-x86_64/usr/include/linux/isdn.h +platforms/android-21/arch-x86_64/usr/include/linux/isdnif.h +platforms/android-21/arch-x86_64/usr/include/linux/isdn_ppp.h +platforms/android-21/arch-x86_64/usr/include/linux/iso_fs.h +platforms/android-21/arch-x86_64/usr/include/linux/ivtvfb.h +platforms/android-21/arch-x86_64/usr/include/linux/ivtv.h +platforms/android-21/arch-x86_64/usr/include/linux/ixjuser.h +platforms/android-21/arch-x86_64/usr/include/linux/jffs2.h +platforms/android-21/arch-x86_64/usr/include/linux/joystick.h +platforms/android-21/arch-x86_64/usr/include/linux/kdev_t.h +platforms/android-21/arch-x86_64/usr/include/linux/kd.h +platforms/android-21/arch-x86_64/usr/include/linux/kernelcapi.h +platforms/android-21/arch-x86_64/usr/include/linux/kernel.h +platforms/android-21/arch-x86_64/usr/include/linux/kernel-page-flags.h +platforms/android-21/arch-x86_64/usr/include/linux/kexec.h +platforms/android-21/arch-x86_64/usr/include/linux/keyboard.h +platforms/android-21/arch-x86_64/usr/include/linux/keychord.h +platforms/android-21/arch-x86_64/usr/include/linux/keyctl.h +platforms/android-21/arch-x86_64/usr/include/linux/l2tp.h +platforms/android-21/arch-x86_64/usr/include/linux/libc-compat.h +platforms/android-21/arch-x86_64/usr/include/linux/limits.h +platforms/android-21/arch-x86_64/usr/include/linux/llc.h +platforms/android-21/arch-x86_64/usr/include/linux/loop.h +platforms/android-21/arch-x86_64/usr/include/linux/lp.h +platforms/android-21/arch-x86_64/usr/include/linux/magic.h +platforms/android-21/arch-x86_64/usr/include/linux/major.h +platforms/android-21/arch-x86_64/usr/include/linux/map_to_7segment.h +platforms/android-21/arch-x86_64/usr/include/linux/matroxfb.h +platforms/android-21/arch-x86_64/usr/include/linux/mdio.h +platforms/android-21/arch-x86_64/usr/include/linux/media.h +platforms/android-21/arch-x86_64/usr/include/linux/mei.h +platforms/android-21/arch-x86_64/usr/include/linux/mempolicy.h +platforms/android-21/arch-x86_64/usr/include/linux/meye.h +platforms/android-21/arch-x86_64/usr/include/linux/mic_common.h +platforms/android-21/arch-x86_64/usr/include/linux/mic_ioctl.h +platforms/android-21/arch-x86_64/usr/include/linux/mii.h +platforms/android-21/arch-x86_64/usr/include/linux/minix_fs.h +platforms/android-21/arch-x86_64/usr/include/linux/mman.h +platforms/android-21/arch-x86_64/usr/include/linux/mmc/ioctl.h +platforms/android-21/arch-x86_64/usr/include/linux/mmtimer.h +platforms/android-21/arch-x86_64/usr/include/linux/module.h +platforms/android-21/arch-x86_64/usr/include/linux/mqueue.h +platforms/android-21/arch-x86_64/usr/include/linux/mroute6.h +platforms/android-21/arch-x86_64/usr/include/linux/mroute.h +platforms/android-21/arch-x86_64/usr/include/linux/msdos_fs.h +platforms/android-21/arch-x86_64/usr/include/linux/msg.h +platforms/android-21/arch-x86_64/usr/include/linux/mtio.h +platforms/android-21/arch-x86_64/usr/include/linux/nbd.h +platforms/android-21/arch-x86_64/usr/include/linux/ncp_fs.h +platforms/android-21/arch-x86_64/usr/include/linux/ncp.h +platforms/android-21/arch-x86_64/usr/include/linux/ncp_mount.h +platforms/android-21/arch-x86_64/usr/include/linux/ncp_no.h +platforms/android-21/arch-x86_64/usr/include/linux/neighbour.h +platforms/android-21/arch-x86_64/usr/include/linux/netconf.h +platforms/android-21/arch-x86_64/usr/include/linux/netdevice.h +platforms/android-21/arch-x86_64/usr/include/linux/net_dropmon.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_arp/arp_tables.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_arp/arpt_mangle.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_arp.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_802_3.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebtables.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_among.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_arp.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_arpreply.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_ip6.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_ip.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_limit.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_log.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_mark_m.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_mark_t.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_nat.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_nflog.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_pkttype.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_redirect.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_stp.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_ulog.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge/ebt_vlan.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_bridge.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_decnet.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/ipset/ip_set_bitmap.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/ipset/ip_set.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/ipset/ip_set_hash.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/ipset/ip_set_list.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv4.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv4/ip_tables.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv4/ipt_ah.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv4/ipt_ecn.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv4/ipt_ECN.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv4/ipt_LOG.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv4/ipt_REJECT.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv4/ipt_ttl.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv4/ipt_TTL.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv4/ipt_ULOG.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6_tables.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6t_ah.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6t_frag.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6t_hl.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6t_HL.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6t_ipv6header.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6t_LOG.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6t_mh.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6t_NPT.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6t_opts.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6t_REJECT.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter_ipv6/ip6t_rt.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nf_conntrack_common.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nf_conntrack_ftp.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nf_conntrack_sctp.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nf_conntrack_tcp.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nf_conntrack_tuple_common.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nf_nat.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nfnetlink_acct.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nfnetlink_compat.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nfnetlink_conntrack.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nfnetlink_cthelper.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nfnetlink_cttimeout.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nfnetlink.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nfnetlink_log.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nfnetlink_queue.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nf_tables_compat.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/nf_tables.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/x_tables.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_addrtype.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_AUDIT.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_bpf.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_cgroup.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_CHECKSUM.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_CLASSIFY.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_cluster.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_comment.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_connbytes.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_connlabel.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_connlimit.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_connmark.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_CONNMARK.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_CONNSECMARK.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_conntrack.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_cpu.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_CT.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_dccp.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_devgroup.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_dscp.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_DSCP.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_ecn.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_esp.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_hashlimit.h +platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_helper.h platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_HMARK.h platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_IDLETIMER.h platforms/android-21/arch-x86_64/usr/include/linux/netfilter/xt_ipcomp.h
diff --git a/src/test/java/com/google/devtools/build/lib/packages/BuildTypeTest.java b/src/test/java/com/google/devtools/build/lib/packages/BuildTypeTest.java index 63c15d9..f13b682 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/BuildTypeTest.java +++ b/src/test/java/com/google/devtools/build/lib/packages/BuildTypeTest.java
@@ -1,8 +1,4 @@ -// Copyright 2015 The Bazel Authors. All rights reserved. -// -// 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 +u may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 //
diff --git a/src/test/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicyTest.java b/src/test/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicyTest.java index dcd3ea0..a3ea359 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicyTest.java +++ b/src/test/java/com/google/devtools/build/lib/packages/ConfigurationFragmentPolicyTest.java
@@ -1,4 +1,89 @@ -(policy.isLegalConfigurationFragment(Integer.class, ConfigurationTransition.NONE)) +// Copyright 2016 The Bazel Authors. All rights reserved. +// +// 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. +package com.google.devtools.build.lib.packages; + +import static com.google.common.truth.Truth.assertThat; + +import com.google.common.collect.ImmutableSet; +import com.google.devtools.build.lib.packages.Attribute.ConfigurationTransition; +import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy.MissingFragmentPolicy; +import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** + * Tests for the ConfigurationFragmentPolicy builder and methods. + */ +@RunWith(JUnit4.class) +public final class ConfigurationFragmentPolicyTest { + + @SkylarkModule(name = "test_fragment", doc = "first fragment") + private static final class TestFragment {} + + @SkylarkModule(name = "other_fragment", doc = "second fragment") + private static final class OtherFragment {} + + @SkylarkModule(name = "unknown_fragment", doc = "useless waste of permgen") + private static final class UnknownFragment {} + + @Test + public void testMissingFragmentPolicy() throws Exception { + ConfigurationFragmentPolicy policy = + new ConfigurationFragmentPolicy.Builder() + .setMissingFragmentPolicy(MissingFragmentPolicy.IGNORE) + .build(); + + assertThat(policy.getMissingFragmentPolicy()).isEqualTo(MissingFragmentPolicy.IGNORE); + + ConfigurationFragmentPolicy otherPolicy = + new ConfigurationFragmentPolicy.Builder() + .setMissingFragmentPolicy(MissingFragmentPolicy.CREATE_FAIL_ACTIONS) + .build(); + + assertThat(otherPolicy.getMissingFragmentPolicy()) + .isEqualTo(MissingFragmentPolicy.CREATE_FAIL_ACTIONS); + } + + @Test + public void testRequiresConfigurationFragments_AddsToRequiredSet() throws Exception { + // Although these aren't configuration fragments, there are no requirements as to what the class + // has to be, so... + ConfigurationFragmentPolicy policy = + new ConfigurationFragmentPolicy.Builder() + .requiresConfigurationFragments(ImmutableSet.<Class<?>>of(Integer.class, String.class)) + .requiresConfigurationFragments(ImmutableSet.<Class<?>>of(String.class, Long.class)) + .build(); + + assertThat(policy.getRequiredConfigurationFragments()) + .containsExactly(Integer.class, String.class, Long.class); + } + + @Test + public void testRequiresConfigurationFragments_RequiredAndLegalForSpecifiedConfiguration() + throws Exception { + ConfigurationFragmentPolicy policy = + new ConfigurationFragmentPolicy.Builder() + .requiresConfigurationFragments(ImmutableSet.<Class<?>>of(Integer.class)) + .requiresHostConfigurationFragments(ImmutableSet.<Class<?>>of(Long.class)) + .build(); + + assertThat(policy.getRequiredConfigurationFragments()).containsAllOf(Integer.class, Long.class); + + assertThat(policy.isLegalConfigurationFragment(Integer.class)).isTrue(); + assertThat(policy.isLegalConfigurationFragment(Integer.class, ConfigurationTransition.NONE)) .isTrue(); // TODO(mstaib): .isFalse() when dynamic configurations care which configuration a fragment was // specified for