2 * Copyright (C) 2019 The Android Open Source Project
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 name: "linkerconfig_defaults",
24 defaults: ["libapexutil-deps"],
34 name: "linkerconfig_test_defaults",
35 defaults: ["linkerconfig_defaults"],
40 test_suites: ["general-tests"],
44 name: "linkerconfig_modules",
45 defaults: [ "linkerconfig_defaults" ],
46 export_include_dirs: [ "modules/include" ],
53 name: "linkerconfig_contents",
54 defaults: [ "linkerconfig_defaults" ],
55 export_include_dirs: [ "contents/include" ],
57 "linkerconfig_modules",
60 "contents/namespace/*.cc",
61 "contents/section/*.cc",
62 "contents/configuration/*.cc",
63 "contents/context/*.cc",
64 "contents/common/*.cc",
69 name: "linkerconfig_generator",
70 defaults : [ "linkerconfig_defaults" ],
71 export_include_dirs: [ "generator/include" ],
73 "linkerconfig_modules",
74 "linkerconfig_contents",
84 defaults: [ "linkerconfig_defaults" ],
86 "linkerconfig_modules",
87 "linkerconfig_contents",
88 "linkerconfig_generator",
93 static_executable: true,
95 // files from /system/etc
96 "sanitizer.libraries.txt",
97 "vndkcorevariant.libraries.txt",
98 // Note that even thought linkerconfig requires at least one version of VNDK APEXes,
99 // we can't list it here because the exact version is unknown at build-time. It is decided
100 // at runtime according to ro.vndk.version (or ro.product.vndk.version)
105 name: "linkerconfig_modules_unittest",
106 defaults: [ "linkerconfig_test_defaults" ],
108 "modules/tests/*_test.cc",
112 "linkerconfig_modules",
117 name: "linkerconfig_backward_compatibility_test",
118 defaults: [ "linkerconfig_test_defaults" ],
120 "contents/tests/backward_compatibility/*_test.cc",
123 "linkerconfig_modules",
124 "linkerconfig_contents",
129 name: "linkerconfig_generator_unittest",
130 defaults: [ "linkerconfig_test_defaults" ],
132 "generator/tests/*_test.cc",
135 "linkerconfig_modules",
136 "linkerconfig_contents",
137 "linkerconfig_generator",
140 "generator/tests/data/*.txt",
145 name: "linkerconfig_contents_fulltest",
146 defaults: [ "linkerconfig_test_defaults" ],
147 local_include_dirs: [
148 "contents/tests/configuration/include",
151 "contents/tests/configuration/*_test.cc",
154 "linkerconfig_modules",
155 "linkerconfig_contents",
160 name: "ld.config.recovery.txt",
162 filename: "ld.config.txt",
163 src: ":generate_recovery_linker_config",
167 name: "generate_recovery_linker_config",
169 out: ["ld.config.txt"],
170 tools: ["linkerconfig"],
171 cmd: "$(location linkerconfig) --recovery --target $(genDir)",