blob: 0f46b9bfc5c2edc0783d520d7d403ecd74a08ee2 [file] [log] [blame]
Dan Willemsene4376b82016-09-26 13:58:25 -07001// Copyright (C) 2016 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Steven Moreland3ee43c82017-08-04 11:03:02 -070015cc_defaults {
16 name: "hidl-gen-defaults",
17 cflags: [
Steven Moreland3ee43c82017-08-04 11:03:02 -070018 "-Wall",
19 "-Werror",
20 ],
Evgenii Stepanov0432ce82018-09-24 14:41:41 -070021 target: {
22 host: {
Neel Mehta1abf8e02019-07-10 16:04:38 -070023 cflags: [
24 "-O0",
25 "-g",
26 ],
27 },
28 },
Steven Moreland3ee43c82017-08-04 11:03:02 -070029}
Steven Moreland60818632017-02-04 00:33:42 -080030
Steven Morelandf9cf33b2017-05-18 13:58:54 -070031// This configuration is inherited by all hidl-gen-generated modules.
Steven Moreland6a3cdff2017-05-18 16:14:38 -070032cc_defaults {
33 name: "hidl-module-defaults",
Steven Morelandfa5b4042017-06-19 16:44:36 +000034 cflags: [
35 "-Wall",
36 "-Werror",
Steven Morelandcbcf9f72017-11-20 10:04:15 -080037 "-Wextra-semi",
Steven Morelandfa5b4042017-06-19 16:44:36 +000038 ],
Chih-Hung Hsieha99f99e2018-12-18 14:34:52 -080039 tidy_checks: [
Steven Moreland005757b2018-12-26 16:56:03 -080040 // _hidl_cb and addOnewayTask are stuck because of the legacy ABI
Chih-Hung Hsieha99f99e2018-12-18 14:34:52 -080041 "-performance-unnecessary-value-param",
42 ],
Steven Moreland6a3cdff2017-05-18 16:14:38 -070043 product_variables: {
Steven Morelandf9cf33b2017-05-18 13:58:54 -070044 debuggable: {
Neel Mehta1abf8e02019-07-10 16:04:38 -070045 cflags: ["-D__ANDROID_DEBUGGABLE__"],
Steven Morelandf9cf33b2017-05-18 13:58:54 -070046 },
Steven Morelandf9cf33b2017-05-18 13:58:54 -070047 },
Steven Moreland6a3cdff2017-05-18 16:14:38 -070048}
49
Steven Moreland887b84c2017-10-09 18:40:58 -070050// This configuration is inherited by all hidl-gen-java modules
51java_defaults {
52 name: "hidl-java-module-defaults",
Steven Morelandc6d03ae2017-10-28 16:05:57 -070053 // TODO(b/68433855): allow HIDL java to build in the PDK
54 product_variables: {
55 pdk: {
56 enabled: false,
57 },
58 },
Steven Moreland887b84c2017-10-09 18:40:58 -070059}
60
Neel Mehta0d44ef52019-08-07 18:37:32 -070061cc_library_host_static {
Dan Willemsene4376b82016-09-26 13:58:25 -070062 name: "libhidl-gen",
Steven Moreland3ee43c82017-08-04 11:03:02 -070063 defaults: ["hidl-gen-defaults"],
Chih-Hung Hsiehd30a3fc2020-02-14 10:41:44 -080064 cflags: [
65 "-Wno-bool-operation", // found in ConstantExpression.cpp:105
66 ],
Dan Willemsene4376b82016-09-26 13:58:25 -070067 srcs: [
68 "Annotation.cpp",
69 "ArrayType.cpp",
70 "CompoundType.cpp",
71 "ConstantExpression.cpp",
Martijn Coenen115d4282016-12-19 05:14:04 +010072 "DeathRecipientType.cpp",
Steven Moreland073269e2018-05-17 15:45:26 -070073 "DocComment.cpp",
Dan Willemsene4376b82016-09-26 13:58:25 -070074 "EnumType.cpp",
Neel Mehta1abf8e02019-07-10 16:04:38 -070075 "FmqType.cpp",
Dan Willemsene4376b82016-09-26 13:58:25 -070076 "HandleType.cpp",
Andreas Huber6755e9d2017-04-06 11:09:07 -070077 "HidlTypeAssertion.cpp",
Dan Willemsene4376b82016-09-26 13:58:25 -070078 "Interface.cpp",
Timur Iskhakov0e7c2a92017-09-06 11:40:59 -070079 "Location.cpp",
Martijn Coenen99e6beb2016-12-01 15:48:42 +010080 "MemoryType.cpp",
Dan Willemsene4376b82016-09-26 13:58:25 -070081 "Method.cpp",
82 "NamedType.cpp",
Martijn Coenen99e6beb2016-12-01 15:48:42 +010083 "PointerType.cpp",
Dan Willemsene4376b82016-09-26 13:58:25 -070084 "ScalarType.cpp",
85 "Scope.cpp",
86 "StringType.cpp",
87 "Type.cpp",
88 "TypeDef.cpp",
89 "VectorType.cpp",
90 ],
91 shared_libs: [
92 "libbase",
Neel Mehta0d44ef52019-08-07 18:37:32 -070093 "liblog",
94 ],
95 static_libs: [
96 "libcrypto",
Steven Moreland5bdfa702017-04-18 23:20:39 -070097 "libhidl-gen-hash",
Yifan Hong9fd2f4a2018-07-17 12:27:51 -070098 "libhidl-gen-host-utils",
Dan Willemsene4376b82016-09-26 13:58:25 -070099 "libhidl-gen-utils",
100 ],
Neel Mehta0d44ef52019-08-07 18:37:32 -0700101 export_shared_lib_headers: ["libbase"],
102 export_static_lib_headers: [
103 "libhidl-gen-hash",
Yifan Hong9fd2f4a2018-07-17 12:27:51 -0700104 "libhidl-gen-host-utils",
Steven Moreland53b9bfb2017-09-20 14:15:30 -0700105 "libhidl-gen-utils",
106 ],
107 export_include_dirs: ["."], // for tests
Dan Willemsene4376b82016-09-26 13:58:25 -0700108}
109
Neel Mehta0d44ef52019-08-07 18:37:32 -0700110cc_library_host_static {
Dan Willemsene4376b82016-09-26 13:58:25 -0700111 name: "libhidl-gen-ast",
Steven Moreland3ee43c82017-08-04 11:03:02 -0700112 defaults: ["hidl-gen-defaults"],
Dan Willemsene4376b82016-09-26 13:58:25 -0700113 srcs: [
Neel Mehta1abf8e02019-07-10 16:04:38 -0700114 "AST.cpp",
Dan Willemsene4376b82016-09-26 13:58:25 -0700115 "Coordinator.cpp",
116 "generateCpp.cpp",
Steven Moreland9a6da7a2017-09-15 16:21:24 -0700117 "generateCppAdapter.cpp",
Dan Willemsene4376b82016-09-26 13:58:25 -0700118 "generateCppImpl.cpp",
Yifan Honge4010112018-10-05 11:44:15 -0700119 "generateDependencies.cpp",
Neel Mehta3b414a82019-07-02 15:47:48 -0700120 "generateFormattedHidl.cpp",
Daniel Normancb0d8362019-07-08 11:32:15 -0700121 "generateInheritanceHierarchy.cpp",
Dan Willemsene4376b82016-09-26 13:58:25 -0700122 "generateJava.cpp",
Neel Mehta4b6f4392019-05-09 16:03:47 -0700123 "generateJavaImpl.cpp",
Dan Willemsene4376b82016-09-26 13:58:25 -0700124 "generateVts.cpp",
Dan Willemsene4376b82016-09-26 13:58:25 -0700125 "hidl-gen_l.ll",
Neel Mehta1abf8e02019-07-10 16:04:38 -0700126 "hidl-gen_y.yy",
Dan Willemsene4376b82016-09-26 13:58:25 -0700127 ],
Dan Willemsene4376b82016-09-26 13:58:25 -0700128 shared_libs: [
129 "libbase",
Neel Mehta0d44ef52019-08-07 18:37:32 -0700130 "libjsoncpp",
131 ],
132 static_libs: [
133 "libcrypto",
Dan Willemsene4376b82016-09-26 13:58:25 -0700134 "libhidl-gen",
Steven Moreland5bdfa702017-04-18 23:20:39 -0700135 "libhidl-gen-hash",
Yifan Hong9fd2f4a2018-07-17 12:27:51 -0700136 "libhidl-gen-host-utils",
Dan Willemsene4376b82016-09-26 13:58:25 -0700137 "libhidl-gen-utils",
138 ],
Neel Mehta0d44ef52019-08-07 18:37:32 -0700139 export_shared_lib_headers: ["libbase"],
140 export_static_lib_headers: [
Neel Mehtaddae1b62019-05-24 13:05:47 -0700141 "libhidl-gen-hash",
Steven Moreland53b9bfb2017-09-20 14:15:30 -0700142 "libhidl-gen-utils",
143 ],
144 export_include_dirs: ["."], // for tests
Dan Willemsen30f5dee2019-04-12 14:41:23 -0700145 yacc: {
146 gen_location_hh: true,
147 gen_position_hh: true,
Neel Mehta1abf8e02019-07-10 16:04:38 -0700148 },
Dan Willemsene4376b82016-09-26 13:58:25 -0700149}
150
Dan Willemsene4376b82016-09-26 13:58:25 -0700151cc_binary_host {
152 name: "hidl-gen",
Steven Moreland3ee43c82017-08-04 11:03:02 -0700153 defaults: ["hidl-gen-defaults"],
Dan Willemsene4376b82016-09-26 13:58:25 -0700154 srcs: ["main.cpp"],
Neel Mehta0d44ef52019-08-07 18:37:32 -0700155 static_libs: [
Dan Willemsene4376b82016-09-26 13:58:25 -0700156 "libbase",
Neel Mehta0d44ef52019-08-07 18:37:32 -0700157 "libcrypto",
Dan Willemsene4376b82016-09-26 13:58:25 -0700158 "libhidl-gen",
159 "libhidl-gen-ast",
Steven Moreland5bdfa702017-04-18 23:20:39 -0700160 "libhidl-gen-hash",
Yifan Hong9fd2f4a2018-07-17 12:27:51 -0700161 "libhidl-gen-host-utils",
Dan Willemsene4376b82016-09-26 13:58:25 -0700162 "libhidl-gen-utils",
Neel Mehta0d44ef52019-08-07 18:37:32 -0700163 "libjsoncpp",
Neel Mehta1abf8e02019-07-10 16:04:38 -0700164 "liblog",
Dan Willemsene4376b82016-09-26 13:58:25 -0700165 ],
Dan Willemsene4376b82016-09-26 13:58:25 -0700166}