diff options
Diffstat (limited to 'Android.bp')
-rw-r--r-- | Android.bp | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..fcb2851 --- /dev/null +++ b/Android.bp @@ -0,0 +1,156 @@ +// +// Copyright (C) 2015 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. +// + +cc_defaults { + name: "aidl_defaults", + clang_cflags: [ + "-Wall", + "-Wextra", + "-Werror", + ], + whole_static_libs: ["libgtest_prod"], + static_libs: [ + "libbase", + "libcutils", + ], + target: { + windows: { + enabled: true, + }, + }, +} + +// Logic shared between aidl and its unittests +cc_library_host_static { + name: "libaidl-common", + defaults: ["aidl_defaults"], + + clang_cflags: [ + // Tragically, the code is riddled with unused parameters. + "-Wno-unused-parameter", + + // yacc dumps a lot of code *just in case*. + "-Wno-unused-function", + "-Wno-unneeded-internal-declaration", + + // yacc is a tool from a more civilized age. + "-Wno-deprecated-register", + + // yacc also has a habit of using char* over const char*. + "-Wno-writable-strings", + ], + + srcs: [ + "aidl.cpp", + "aidl_language.cpp", + "aidl_language_l.ll", + "aidl_language_y.yy", + "ast_cpp.cpp", + "ast_java.cpp", + "code_writer.cpp", + "generate_cpp.cpp", + "generate_java.cpp", + "generate_java_binder.cpp", + "import_resolver.cpp", + "line_reader.cpp", + "io_delegate.cpp", + "options.cpp", + "type_cpp.cpp", + "type_java.cpp", + "type_namespace.cpp", + ], +} + +// aidl executable +cc_binary_host { + name: "aidl", + defaults: ["aidl_defaults"], + srcs: ["main_java.cpp"], + static_libs: [ + "libaidl-common", + "libbase", + ], +} + +// aidl-cpp executable +cc_binary_host { + name: "aidl-cpp", + defaults: ["aidl_defaults"], + srcs: ["main_cpp.cpp"], + static_libs: [ + "libaidl-common", + "libbase", + ], +} + +// Unit tests +cc_test_host { + name: "aidl_unittests", + + cflags: [ + "-Wall", + "-Wextra", + "-Werror", + "-g", + "-DUNIT_TEST", + ], + // Tragically, the code is riddled with unused parameters. + clang_cflags: ["-Wno-unused-parameter"], + srcs: [ + "aidl_unittest.cpp", + "ast_cpp_unittest.cpp", + "ast_java_unittest.cpp", + "generate_cpp_unittest.cpp", + "io_delegate_unittest.cpp", + "options_unittest.cpp", + "tests/end_to_end_tests.cpp", + "tests/fake_io_delegate.cpp", + "tests/main.cpp", + "tests/test_data_example_interface.cpp", + "tests/test_data_ping_responder.cpp", + "tests/test_data_string_constants.cpp", + "tests/test_util.cpp", + "type_cpp_unittest.cpp", + "type_java_unittest.cpp", + ], + + static_libs: [ + "libaidl-common", + "libbase", + "libcutils", + "libgmock_host", + ], + + target: { + linux: { + host_ldlibs: ["-lrt"], + }, + }, +} + +// +// Everything below here is used for integration testing of generated AIDL code. +// +cc_binary { + name: "aidl_test_sentinel_searcher", + srcs: ["tests/aidl_test_sentinel_searcher.cpp"], + cflags: [ + "-Wall", + "-Wextra", + "-Werror", + "-Wunused-parameter", + ], +} |