Home | History | Annotate | Download | only in hidl
      1 // 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 
     15 subdirs = [
     16     "c2hal",
     17     "test",
     18     "utils",
     19 ]
     20 
     21 hidl_flags = [
     22     "-O0",
     23     "-g",
     24     "-Wall",
     25     "-Werror",
     26 ]
     27 
     28 // This configuration is inherited by all hidl-gen-generated modules.
     29 cc_defaults {
     30     name: "hidl-module-defaults",
     31     product_variables: {
     32         debuggable: {
     33             cflags: ["-D__ANDROID_DEBUGGABLE__"]
     34         },
     35         treble: {
     36             cflags: ["-D__ANDROID_TREBLE__"]
     37         },
     38     },
     39 }
     40 
     41 //
     42 // libhidl-gen-hash
     43 //
     44 cc_library_shared {
     45     name: "libhidl-gen-hash",
     46     host_supported: true,
     47     cflags: hidl_flags,
     48     srcs: ["Hash.cpp"],
     49     local_include_dirs: ["include_hash/hidl-hash"],
     50     export_include_dirs: ["include_hash"],
     51     shared_libs: [
     52         "libbase",
     53         "libcrypto",
     54         "libssl",
     55     ],
     56 }
     57 
     58 //
     59 // libhidl-gen
     60 //
     61 cc_library_host_shared {
     62     name: "libhidl-gen",
     63     cflags: hidl_flags,
     64     srcs: [
     65         "Annotation.cpp",
     66         "ArrayType.cpp",
     67         "CompoundType.cpp",
     68         "ConstantExpression.cpp",
     69         "DeathRecipientType.cpp",
     70         "EnumType.cpp",
     71         "HandleType.cpp",
     72         "HidlTypeAssertion.cpp",
     73         "Interface.cpp",
     74         "MemoryType.cpp",
     75         "Method.cpp",
     76         "NamedType.cpp",
     77         "PointerType.cpp",
     78         "FmqType.cpp",
     79         "RefType.cpp",
     80         "ScalarType.cpp",
     81         "Scope.cpp",
     82         "StringType.cpp",
     83         "Type.cpp",
     84         "TypeDef.cpp",
     85         "VectorType.cpp",
     86     ],
     87     shared_libs: [
     88         "libbase",
     89         "liblog",
     90         "libhidl-gen-hash",
     91         "libhidl-gen-utils",
     92     ],
     93 }
     94 
     95 //
     96 // libhidl-gen-ast
     97 //
     98 
     99 cc_library_host_shared {
    100     name: "libhidl-gen-ast",
    101     cflags: hidl_flags,
    102     srcs: [
    103         "Coordinator.cpp",
    104         "generateCpp.cpp",
    105         "generateCppImpl.cpp",
    106         "generateJava.cpp",
    107         "generateVts.cpp",
    108         "hidl-gen_y.yy",
    109         "hidl-gen_l.ll",
    110         "AST.cpp",
    111     ],
    112     shared_libs: [
    113         "libbase",
    114         "liblog",
    115         "libhidl-gen",
    116         "libhidl-gen-hash",
    117         "libhidl-gen-utils",
    118     ],
    119 }
    120 
    121 //
    122 // hidl-gen
    123 //
    124 cc_binary_host {
    125     name: "hidl-gen",
    126     cflags: hidl_flags,
    127     srcs: ["main.cpp"],
    128     shared_libs: [
    129         "libbase",
    130         "liblog",
    131         "libhidl-gen",
    132         "libhidl-gen-ast",
    133         "libhidl-gen-hash",
    134         "libhidl-gen-utils",
    135     ],
    136 }
    137