• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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