| Dan Willemsen | b916b80 | 2017-03-19 13:44:32 -0700 | [diff] [blame] | 1 | // Copyright 2017 Google Inc. All rights reserved. | 
 | 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 | package cc | 
 | 16 |  | 
| Dan Willemsen | b916b80 | 2017-03-19 13:44:32 -0700 | [diff] [blame] | 17 | var ( | 
 | 18 | 	llndkLibrarySuffix = ".llndk" | 
| Jiyong Park | 2a45412 | 2017-10-19 15:59:33 +0900 | [diff] [blame] | 19 | 	llndkHeadersSuffix = ".llndk" | 
| Dan Willemsen | b916b80 | 2017-03-19 13:44:32 -0700 | [diff] [blame] | 20 | ) | 
 | 21 |  | 
| Colin Cross | 127bb8b | 2020-12-16 16:46:01 -0800 | [diff] [blame] | 22 | // Holds properties to describe a stub shared library based on the provided version file. | 
| Dan Willemsen | b916b80 | 2017-03-19 13:44:32 -0700 | [diff] [blame] | 23 | type llndkLibraryProperties struct { | 
 | 24 | 	// Relative path to the symbol map. | 
 | 25 | 	// An example file can be seen here: TODO(danalbert): Make an example. | 
| Nan Zhang | 0007d81 | 2017-11-07 10:57:05 -0800 | [diff] [blame] | 26 | 	Symbol_file *string | 
| Dan Willemsen | b916b80 | 2017-03-19 13:44:32 -0700 | [diff] [blame] | 27 |  | 
 | 28 | 	// Whether to export any headers as -isystem instead of -I. Mainly for use by | 
 | 29 | 	// bionic/libc. | 
| Nan Zhang | 0007d81 | 2017-11-07 10:57:05 -0800 | [diff] [blame] | 30 | 	Export_headers_as_system *bool | 
| Dan Willemsen | b916b80 | 2017-03-19 13:44:32 -0700 | [diff] [blame] | 31 |  | 
 | 32 | 	// Which headers to process with versioner. This really only handles | 
 | 33 | 	// bionic/libc/include right now. | 
 | 34 | 	Export_preprocessed_headers []string | 
 | 35 |  | 
 | 36 | 	// Whether the system library uses symbol versions. | 
| Nan Zhang | 0007d81 | 2017-11-07 10:57:05 -0800 | [diff] [blame] | 37 | 	Unversioned *bool | 
| Jiyong Park | 82e2bf3 | 2017-08-16 14:05:54 +0900 | [diff] [blame] | 38 |  | 
| Jiyong Park | 2a45412 | 2017-10-19 15:59:33 +0900 | [diff] [blame] | 39 | 	// list of llndk headers to re-export include directories from. | 
| Colin Cross | 0fb7fcd | 2021-03-02 11:00:07 -0800 | [diff] [blame] | 40 | 	Export_llndk_headers []string | 
 | 41 |  | 
 | 42 | 	// list of directories relative to the Blueprints file that willbe added to the include path | 
 | 43 | 	// (using -I) for any module that links against the LLNDK variant of this module, replacing | 
 | 44 | 	// any that were listed outside the llndk clause. | 
 | 45 | 	Override_export_include_dirs []string | 
| Colin Cross | 127bb8b | 2020-12-16 16:46:01 -0800 | [diff] [blame] | 46 |  | 
 | 47 | 	// whether this module can be directly depended upon by libs that are installed | 
 | 48 | 	// to /vendor and /product. | 
 | 49 | 	// When set to true, this module can only be depended on by VNDK libraries, not | 
 | 50 | 	// vendor nor product libraries. This effectively hides this module from | 
 | 51 | 	// non-system modules. Default value is false. | 
 | 52 | 	Private *bool | 
| Colin Cross | 1f3f130 | 2021-04-26 18:37:44 -0700 | [diff] [blame] | 53 |  | 
 | 54 | 	// if true, make this module available to provide headers to other modules that set | 
 | 55 | 	// llndk.symbol_file. | 
 | 56 | 	Llndk_headers *bool | 
| Dan Willemsen | b916b80 | 2017-03-19 13:44:32 -0700 | [diff] [blame] | 57 | } |