1// Copyright (C) 2017 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 15package aidl 16 17import ( 18 "github.com/google/blueprint/proptools" 19) 20 21type nameProperties struct { 22 Name *string 23} 24 25type hostProperties struct { 26 Cflags []string 27} 28 29type imageProperties struct { 30 Shared_libs []string 31 Header_libs []string 32 Exclude_shared_libs []string 33 Cflags []string 34} 35 36type ccTargetProperties struct { 37 Host hostProperties 38 Platform imageProperties 39 Vendor imageProperties 40 Product imageProperties 41} 42 43type ccProperties struct { 44 Name *string 45 Enabled proptools.Configurable[bool] 46 Owner *string 47 Defaults []string 48 Double_loadable *bool 49 Vendor_available *bool 50 Odm_available *bool 51 Product_available *bool 52 Recovery_available *bool 53 Host_supported *bool 54 Cmake_snapshot_supported *bool 55 Installable *bool 56 Generated_sources []string 57 Generated_headers []string 58 Shared_libs []string 59 Static_libs []string 60 Export_shared_lib_headers []string 61 Export_generated_headers []string 62 Header_libs []string 63 Sdk_version *string 64 Stl *string 65 Cpp_std *string 66 Cflags []string 67 Ldflags []string 68 Stem *string 69 Apex_available []string 70 Min_sdk_version *string 71 Target ccTargetProperties 72 Tidy *bool 73 Tidy_flags []string 74 Tidy_checks_as_errors []string 75 Include_build_directory *bool 76 AidlInterface struct { 77 Sources []string 78 AidlRoot string 79 Lang string 80 Flags []string 81 } 82} 83 84type javaProperties struct { 85 Name *string 86 Owner *string 87 Defaults []string 88 Installable *bool 89 Sdk_version *string 90 Srcs []string 91 Static_libs []string 92 Apex_available []string 93 Min_sdk_version *string 94} 95 96type rustProperties struct { 97 Name *string 98 Enabled proptools.Configurable[bool] 99 Crate_name string 100 Owner *string 101 Defaults []string 102 Host_supported *bool 103 Vendor_available *bool 104 Product_available *bool 105 Srcs []string 106 Rustlibs []string 107 Stem *string 108 Apex_available []string 109 Min_sdk_version *string 110} 111 112type phonyProperties struct { 113 Name *string 114 Required []string 115} 116