* Change crate_type string to crate_types list.
In dump_android_module, iterate over crate_types and
call dump_one_android_module for each crate type.
* In decide_one_module_type, add mapping of Rust crate types:
lib => rlib (no change)
rlib => rlib (new)
dylib => dylib (new)
cdylib => shared (changed)
staticlib => static (new)
Maybe we should change and map 'lib' to 'lib',
but before that, crate_types should not contain
both 'lib' and 'rlib'.
* Accept new cargo output format, which can
call rustc with the main source file name after
other flags, not always after the "--crate-name" flag.
* Work around duplicated test module name problem;
call self.runner.claim_module_name for every named test module.
Bug: 153118477
Test: fetch quiche-0.3.0, bindgen-0.53.2 and other Rust crates
Test: cargo2android.py --run --vv --device --tests
Change-Id: Id65c3929b5c593df73f26f1510ad7e89194b209e
Linkers aarch64-linux-android-ld and x86_64-linux-android-ld were built
with a minimum macOS deployment target lower than 10.9, so they cannot
be signed and notarized. Rather than try to produce newer versions of
these linkers (which are obsolete in the SDK anyway), we remove them (so
that all of the SDK can be signed and notarized). Rather than introduce
an inconsistency among the linkers for a particular host (there are
three other GNU linkers that don't have this problem) or across hosts
(there are no issues on linux or windows), we remove all of the GNU
linkers, not just the two problematic ones.
Only newer gradle plugins (those that look for the clang linker lld)
will work with the new SDK from which those old linkers have been
removed.
Bug: 152337684
Test: (gLinux) m TARGET_PRODUCT=sdk_phone_armv7 TARGET_BUILD_VARIANT=userdebug sdk dist sdk_repo
(gLinux) m TARGET_PRODUCT=sdk_phone_armv7 TARGET_BUILD_VARIANT=userdebug win_sdk dist sdk_repo
Inspect sdk-repo-{linux,windows}-build-tools-eng.*.zip
Merged-In: Iccfa870a826de3f12c99175e0761ea00fe2876ed
Change-Id: Iccfa870a826de3f12c99175e0761ea00fe2876ed
(cherry picked from commit cb255acf77)
* crates.io keeps yanked packages with the "yanked" attribute.
For example, log-0.4.9 and log-0.4.10 were yanked so
"get_rust_pkg log" should skip them.
* Compare version numbers before the publish id number.
For example, lazy_static-1.1.1 was published after lazy_static-1.4.0,
but "get_rust_pkg lazy_static" should fetch 1.4.0.
Test: get_rust_pkg.py -v log # get log.0.4.8
Test: get_rust_pkg.py -v log-0.4.10 # get log.0.4.10
Test: get_rust_pkg.py -v lazy_static # get lazy_static-1.4.0
Change-Id: Id005a91b75c0885285a76136bd6de19d0dafa5c1
* When --features is specified,
pass --no-default-features to cargo.
* When a dependent Rust package is imported to AOSP,
if not all "default" features are needed, run
cargo2android.py with empty or a list of specific features.
Test: cargo2android.py --run # use default features
Test: cargo2android.py --run --features='' # no default
Test: cargo2android.py --run --features='default,std'
Change-Id: I854f1ecb7d7466490ff34e229ec14a07c1273c6d
Unbreak emulator system crash when WiFi tethering switch is turned
on in Settings app.
BUG: 150408099
Signed-off-by: Weilun Du <wdu@google.com>
Change-Id: I893258171c9a6aa4659c8a636f410414c0216d41
A library may have both VNDK variant and stubs. The variants are tagged
with VNDK and PLATFORM in lsdump_paths.txt. create_reference_dumps.py
should generate the ABI dumps for both.
Bug: 152277104
Test: ./create_reference_dumps.py
Test: ./create_reference_dumps.py -libs libselinux
Change-Id: I2ee43d70efcdee43de821c93c31cdb628c36ecb1
This reverts commit 17ec995b11.
Test: ./create_reference_dumps.py
Bug: 152080301
Reason for revert: aosp_arm_ab and aosp_x86_ab are still supported.
Change-Id: I7a80931e8bc60fc86083d6fc55daa53e3ed9a4db
* changes:
Look up referenced types' compilation unit paths when linking ABI dumps
Store the sdump path for each type definition when linking ABI dumps
Move the merge functions from IRReader to a new class
Add a test case for merging multiple definitions
When header-abi-linker merges a pointer, reference, array, or qualified
type, it looks up the referenced type's compilation unit path, and uses
the path to distinguish multiple definitions of the type as well as the
types referencing it.
Test: ./test.py
Bug: 147396457
Change-Id: If6b35e941f9aa03616b236289450c9b10062b719