Merge changes Ie5a1d85f,I0aa9acfb,I19f0abe3,I0877e2d7 am: b58311f3b6 am: bf443c909f

Original change: https://android-review.googlesource.com/c/platform/development/+/1798414

Change-Id: Id6dcbd7bc37d3da22e9fe6af1d82e9d2aaf32e1b
This commit is contained in:
Treehugger Robot
2021-08-18 01:11:27 +00:00
committed by Automerger Merge Worker

View File

@@ -127,6 +127,12 @@ WARNING_FILE_PAT = re.compile('^ *--> ([^:]*):[0-9]+')
# Rust package name with suffix -d1.d2.d3.
VERSION_SUFFIX_PAT = re.compile(r'^(.*)-[0-9]+\.[0-9]+\.[0-9]+$')
# Crate types corresponding to a C ABI library
C_LIBRARY_CRATE_TYPES = ['staticlib', 'cdylib']
# Crate types corresponding to a Rust ABI library
RUST_LIBRARY_CRATE_TYPES = ['lib', 'rlib', 'dylib']
# Crate types corresponding to a library
LIBRARY_CRATE_TYPES = C_LIBRARY_CRATE_TYPES + RUST_LIBRARY_CRATE_TYPES
def altered_name(name):
return RENAME_MAP[name] if (name in RENAME_MAP) else name
@@ -696,16 +702,30 @@ class Crate(object):
self.dump_edition_flags_libs()
if self.runner.args.host_first_multilib and self.host_supported and crate_type != 'test':
self.write(' compile_multilib: "first",')
if self.runner.args.apex_available and crate_type == 'lib':
if self.runner.args.exported_c_header_dir and crate_type in C_LIBRARY_CRATE_TYPES:
self.write(' include_dirs: [')
for header_dir in self.runner.args.exported_c_header_dir:
self.write(' "%s",' % header_dir)
self.write(' ],')
if self.runner.args.apex_available and crate_type in LIBRARY_CRATE_TYPES:
self.write(' apex_available: [')
for apex in self.runner.args.apex_available:
self.write(' "%s",' % apex)
self.write(' ],')
if self.runner.args.vendor_available:
self.write(' vendor_available: true,')
if self.runner.args.vendor_ramdisk_available:
self.write(' vendor_ramdisk_available: true,')
if self.runner.args.min_sdk_version and crate_type == 'lib':
if crate_type != 'test':
if self.runner.args.native_bridge_supported:
self.write(' native_bridge_supported: true,')
if self.runner.args.product_available:
self.write(' product_available: true,')
if self.runner.args.recovery_available:
self.write(' recovery_available: true,')
if self.runner.args.vendor_available:
self.write(' vendor_available: true,')
if self.runner.args.vendor_ramdisk_available:
self.write(' vendor_ramdisk_available: true,')
if self.runner.args.ramdisk_available:
self.write(' ramdisk_available: true,')
if self.runner.args.min_sdk_version and crate_type in LIBRARY_CRATE_TYPES:
self.write(' min_sdk_version: "%s",' % self.runner.args.min_sdk_version)
if crate_type == 'test' and not self.default_srcs:
self.dump_test_data()
@@ -1636,6 +1656,11 @@ def get_parser():
default=False,
help=('run cargo build with existing Cargo.lock ' +
'(used when some latest dependent crates failed)'))
parser.add_argument(
'--exported_c_header_dir',
nargs='*',
help='Directories with headers to export for C usage'
)
parser.add_argument(
'--min-sdk-version',
type=str,
@@ -1644,6 +1669,21 @@ def get_parser():
'--apex-available',
nargs='*',
help='Mark the main library as apex_available with the given apexes.')
parser.add_argument(
'--native-bridge-supported',
action='store_true',
default=False,
help='Mark the main library as native_bridge_supported.')
parser.add_argument(
'--product-available',
action='store_true',
default=False,
help='Mark the main library as product_available.')
parser.add_argument(
'--recovery-available',
action='store_true',
default=False,
help='Mark the main library as recovery_available.')
parser.add_argument(
'--vendor-available',
action='store_true',
@@ -1654,6 +1694,11 @@ def get_parser():
action='store_true',
default=False,
help='Mark the main library as vendor_ramdisk_available.')
parser.add_argument(
'--ramdisk-available',
action='store_true',
default=False,
help='Mark the main library as ramdisk_available.')
parser.add_argument(
'--force-rlib',
action='store_true',