Commit Graph

3527 Commits

Author SHA1 Message Date
Roland Levillain
9efb8c773f Have symlink_preferred_arch: true honor the stem property.
If a module defines a `stem` property, use it to name the symlink
created for `symlink_preferred_arch: true` (instead of the module's
name).

Also always require suffixes when using `symlink_preferred_arch: true`.

Test: m
Change-Id: Ia8a56f94d21599194797ef8b259f5f03e08cb16a
2019-06-10 15:03:44 +01:00
Josh Gao
7e1bc2f089 Merge "Revert "Revert "Revert "Enable lld for windows"""" am: 46160c6423 am: 118d99de1e am: adb1511181
am: 97b388ed11

Change-Id: I5f1b09fd3e6ae431f353beb256f8cee98cd58caa
2019-06-07 16:06:53 -07:00
Josh Gao
adb1511181 Merge "Revert "Revert "Revert "Enable lld for windows"""" am: 46160c6423
am: 118d99de1e

Change-Id: Id8073e33bd20ab63d4c6bace043ad8387f6d8ddd
2019-06-07 15:55:46 -07:00
Josh Gao
b20200b3f5 Revert "Revert "Revert "Enable lld for windows"""
This reverts commit 6d8c0a50bc.

The switchover to lld appears to be making adb crash on exit for unclear
reasons. Revert it as a quick fix pending further investigation.

Bug: http://b/134613180
Test: adb.exe under windbg
Change-Id: Ibdf5981c3c6828b3684974b7c30a7c96449c64c5
2019-06-07 12:34:18 -07:00
Colin Cross
0ea8ba82fc Consolidate baseContext, BaseContext, and BaseModuleContext
blueprint.BaseModuleContext is the set of methods available to all
module-specific calls (GenerateBuildActions or mutators).  The
android package split the same functionality across baseContext (nee
androidBaseContext), BaseModuleContext, and BaseContext.
Consolidate all of them into android.BaseModuleContext.

Test: m checkbuild
Change-Id: I2d7f5c56fd4424032cb93edff6dc730ff33e4f1e
2019-06-06 20:01:31 -07:00
Roland Levillain
63bdeb1407 Merge "Allow arch-specific symlink_preferred_arch properties." am: 42729b481a am: d0814ca920 am: 7b7aaf7e2f
am: 452561385d

Change-Id: Ie81eea885749e59a8f238ebb5f306002451074a3
2019-06-06 12:37:24 -07:00
Roland Levillain
7b7aaf7e2f Merge "Allow arch-specific symlink_preferred_arch properties." am: 42729b481a
am: d0814ca920

Change-Id: If31f5553207a024f447c0b5b232a8490e5a2a81d
2019-06-06 12:25:19 -07:00
Treehugger Robot
42729b481a Merge "Allow arch-specific symlink_preferred_arch properties." 2019-06-06 19:10:41 +00:00
Dan Willemsen
1945a4b47d Convert cc aidl to rule builder
This fixes an incremental build issue where we didn't clean up old aidl
header files (or necessarily notice that they were updated).

We do this by declaring the header files as outputs in the build graph,
but this means that the src file name needs to be convertible to the
aidl package name, as that's how the header file paths are created. In
many cases, filegroups can be used to strip path prefixes from the aidl
files.

Bug: 112114177
Test: treehugger
Change-Id: If534ff3dbfac329dea9a7402e30be74495754160
2019-06-06 08:23:53 -07:00
Jaewoong Jung
0a41003b33 Merge "android_app stl property bug fix" am: 4f67c42d76 am: 58d0f0cf69 am: 6a98d5d59b
am: a54ecfb071

Change-Id: Ia88ad08611a432da296c5bb1ee824e3e0e08de76
2019-06-05 14:06:04 -07:00
Jaewoong Jung
6a98d5d59b Merge "android_app stl property bug fix" am: 4f67c42d76
am: 58d0f0cf69

Change-Id: Ic14f463f27b8413e0d4960658c41407763d79ba6
2019-06-05 13:47:32 -07:00
Jaewoong Jung
4f67c42d76 Merge "android_app stl property bug fix" 2019-06-05 20:16:13 +00:00
Roland Levillain
d9bf9be007 Allow arch-specific symlink_preferred_arch properties.
Test: m
Bug: 133864678
Change-Id: Ia6e62156adda2b3a51220552bbe4dab738753674
2019-06-05 19:38:45 +01:00
Colin Cross
643cd17b1c Merge "Support tagged module references" am: b4c35f3378 am: a360b2b335 am: d6e75e4ef9
am: 9465195c23

Change-Id: I74275211c83ab8c85e631401b2f43eee16211a64
2019-06-05 10:45:43 -07:00
Colin Cross
d6e75e4ef9 Merge "Support tagged module references" am: b4c35f3378
am: a360b2b335

Change-Id: I61cff6302236ed5c67b86682563eaeae9d0e3363
2019-06-05 10:34:40 -07:00
Treehugger Robot
b4c35f3378 Merge "Support tagged module references" 2019-06-05 17:17:32 +00:00
Yi Kong
3e9d4617cc Merge "Clean up no_libgcc" am: 4cb61bed13 am: 98c2e16956 am: 37e223acba
am: 53a5cbfb21

Change-Id: Ifc8240eed7f7489e660c57164238755f502874bc
2019-06-04 21:08:39 -07:00
Yi Kong
37e223acba Merge "Clean up no_libgcc" am: 4cb61bed13
am: 98c2e16956

Change-Id: Ieda5df559695429ca26fe6fa48b9a4dc12d43302
2019-06-04 19:39:46 -07:00
Yi Kong
4cb61bed13 Merge "Clean up no_libgcc" 2019-06-05 00:58:35 +00:00
Jaewoong Jung
710756a6ff android_app stl property bug fix
When it is set to c++_shared, the added dependency should be
libc++_shared, not libc++.

Fixes: 130891985
Test: app_test.go, atest 'CtsNdkBinderTestCases' w/ conversion CL
Change-Id: I0e50e0d5bf511aa6e52d16cd715a185721011255
2019-06-04 12:36:00 -07:00
Colin Cross
41955e8895 Support tagged module references
There are cases where a module needs to refer to an intermediate
output of another module instead of its final output.  For example,
a module may want to use the .jar containing .class files from
another module whose final output is a .jar containing classes.dex
files.  Support a new ":module{.tag}" format in any property that
is annotated with `android:"path"`, which will query the target
module for its ".tag" output(s).

Test: path_properties_test.go, paths_test.go
Test: no unexpected changes in build.ninja
Change-Id: Icd3c9b0d83ff125771767c04046fcffb9fc3f65a
2019-06-04 10:22:51 -07:00
Colin Cross
26b2d999d7 Merge changes I88973671,If5a3b53a am: 2406a123ba am: 5a927378ea am: 9cc712aa51
am: 4b3d7bae7c

Change-Id: I267c9d59a38fed5991b6d134fd32f845fe447bde
2019-06-03 23:40:18 -07:00
Colin Cross
9cc712aa51 Merge changes I88973671,If5a3b53a am: 2406a123ba
am: 5a927378ea

Change-Id: Ibba9c6d25e075943ffd8d91ee5929a9b591bd25a
2019-06-03 23:30:30 -07:00
Treehugger Robot
2406a123ba Merge changes I88973671,If5a3b53a
* changes:
  Fix nondeterminstic iteration of vndk modules map
  Fix data race and ordering consistency in apex modules
2019-06-04 06:10:00 +00:00
Ryan Prichard
d88eee5c3e Merge "Omit .gnu_debuglink sections in object files" am: e29e2473d2 am: b78d3c1b70 am: 50a38af826
am: ed1198b8e3

Change-Id: I5cc6373b28368bce09d687fb04b0e4934db00593
2019-06-03 16:45:38 -07:00
Ryan Prichard
50a38af826 Merge "Omit .gnu_debuglink sections in object files" am: e29e2473d2
am: b78d3c1b70

Change-Id: I8a83acd15739c4ae2bd52bb3b450f09bd4c9f872
2019-06-03 16:35:31 -07:00
Ryan Prichard
e29e2473d2 Merge "Omit .gnu_debuglink sections in object files" 2019-06-03 23:15:38 +00:00
Yi Kong
e7fe9913d6 Clean up no_libgcc
no_libgcc is no longer needed anywhere. Move all occurances to no_libcrt
and remove no_libgcc.

Test: build
Change-Id: I6dd49db71d05d7685aa90cc837627f65e6742d6d
2019-06-03 15:52:40 -07:00
Colin Cross
4c2c46f0a7 Fix nondeterminstic iteration of vndk modules map
Sort the list of libraries when iterating over the vndk modules
map to avoid a non-deterministic output file.

Test: m nothing && mv out/soong/build.ninja /tmp && m nothing && diff -u out/soong/build.ninja /tmp/build.ninja
Change-Id: I889736715dab491bb7e69f3499ab1a5e2c876171
2019-06-03 15:52:27 -07:00
Ryan Prichard
f979d73428 Omit .gnu_debuglink sections in object files
I'm not sure if these sections are used, but by adding them to
libgcc_stripped.a, we can end up with multiple .gnu_debuglink sections in
an executable, where the first two unhelpfully point at "libgcc.a". e.g.:

$ readelf -SW -x.gnu_debuglink out/target/product/walleye/system/bin/bootstrap/linker64
...

Section Headers:
  ...
  [18] .gnu_debuglink    PROGBITS        0000000000000000 10f19c 000020 00      0   0  1
  ...
  [22] .gnu_debuglink    PROGBITS        0000000000000000 18a2c8 000010 00      0   0  4
  ...

Hex dump of section '.gnu_debuglink':
  0x00000000 6c696267 63632e61 00000000 3d5f65d8 libgcc.a....=_e.
  0x00000010 6c696267 63632e61 00000000 3d5f65d8 libgcc.a....=_e.

Hex dump of section '.gnu_debuglink':
  0x00000000 6c696e6b 65723634 00000000 f85db7ea linker64.....]..

Bug: none
Test: m libgcc_stripped linker
Test: no .gnu_debuglink section in libgcc_stripped.a
Test: only one .gnu_debuglink section in system/bin/bootstrap/linker64
Change-Id: I0c47a9acd6d52f5cbc5bfa8b67d072ebb075a242
2019-05-31 15:07:16 -07:00
Dimitry Ivanov
3a728f10b6 Merge "Skip native_bridge modules when installing vndk snapshot" am: 656833e0c8 am: 441c715fe8 am: 4fb0004f6b
am: 1b9bb90426

Change-Id: I716b1021028889ec03c3e786d52c91db336d40dc
2019-05-31 06:22:30 -07:00
Dimitry Ivanov
4fb0004f6b Merge "Skip native_bridge modules when installing vndk snapshot" am: 656833e0c8
am: 441c715fe8

Change-Id: Ie8425f616d0393101637ff2d63ba957fa26a49ea
2019-05-31 06:12:32 -07:00
Dimitry Ivanov
656833e0c8 Merge "Skip native_bridge modules when installing vndk snapshot" 2019-05-31 12:51:55 +00:00
Mitch Phillips
bfeade6424 Fix fuzzer builds [#2].
- Updates the fuzzer builds to use SANITIZE_TARGET='fuzzer' instead of
'coverage'.
- Removed an old dependency that made fuzzer builds without ASan
an error.
- Fixed up the build flags to allow fuzzers to be built. Previously, the
coverage flags were manually provided. As the toolchain has moved on,
these flags are no longer compatible with libFuzzer, and so I've updated
them to use the correct, compatible flags.
- Added a dependency mutator for fuzzer coverage.

Bug: 121042685
Test: With all patches in the bug merged, build a fuzzer using
'SANITIZE_TARGET=fuzzer mmma <your_fuzzer>'.

Change-Id: Ib6246980f77bc4babe587b1e88038aa12228fa83
Merged-In: Ib6246980f77bc4babe587b1e88038aa12228fa83
2019-05-30 16:49:42 +00:00
Mitch Phillips
b843c9aa9f Merge "Fix fuzzer builds [#2]." into qt-dev-plus-aosp am: 19ce59f598
am: f180a6c999

Change-Id: I842d81cfaeb37ced7914a905d03556b4626ef7ce
2019-05-29 17:57:07 -07:00
Mitch Phillips
5a6ea6cf3b Fix fuzzer builds [#2].
- Updates the fuzzer builds to use SANITIZE_TARGET='fuzzer' instead of
'coverage'.
- Removed an old dependency that made fuzzer builds without ASan
an error.
- Fixed up the build flags to allow fuzzers to be built. Previously, the
coverage flags were manually provided. As the toolchain has moved on,
these flags are no longer compatible with libFuzzer, and so I've updated
them to use the correct, compatible flags.
- Added a dependency mutator for fuzzer coverage.

Bug: 121042685
Test: With all patches in the bug merged, build a fuzzer using
'SANITIZE_TARGET=fuzzer mmma <your_fuzzer>'.

This is the qt-dev-plus-aosp cherrypick of aosp/954925. See the AOSP
commit for further information.

Change-Id: Ib6246980f77bc4babe587b1e88038aa12228fa83
2019-05-28 15:46:11 -07:00
Jooyung Han
9cfa0cbe6e Merge "exports LOCAL_SOONG_VNDK_VERSION for VNDK libs" am: 75fcf98038 am: e1d405b385 am: 519f9f337e
am: 367abb71a6

Change-Id: I529b118643b7ac6622676c28de798abb07abc5c3
2019-05-24 21:49:12 -07:00
Jooyung Han
519f9f337e Merge "exports LOCAL_SOONG_VNDK_VERSION for VNDK libs" am: 75fcf98038
am: e1d405b385

Change-Id: Ib30ccf47efd65401e2f59d2d18c94c6599674782
2019-05-24 20:05:45 -07:00
Yi Kong
15b6371c7d Merge "Enable the experimental LLVM new pass manager" am: 2adb7eec9a am: c0377c2a12 am: 8973bd7683
am: f121de03b3

Change-Id: If8780b4acaccfdd4a029eaf0c8d3b653f7c76b0e
2019-05-24 19:45:24 -07:00
Dimitry Ivanov
dcea8b4bb1 Merge "Fix override for native_bridge modules" am: acce05a58c am: ed0b1aa02f am: c44f7bbd9f
am: 852504c947

Change-Id: I6837d3352cca9e3e6af8821db254413ece0ea347
2019-05-24 19:44:48 -07:00
Dimitry Ivanov
9d3da1aa7d Merge "Apply native_bridge suffix to all cc_modules" am: 7636b362e1 am: 158ca2bfa2 am: 16e7643f54
am: 119458d71c

Change-Id: I3f6f1931809184ec6eac1448e772acc47c929d68
2019-05-24 19:44:29 -07:00
Treehugger Robot
75fcf98038 Merge "exports LOCAL_SOONG_VNDK_VERSION for VNDK libs" 2019-05-25 00:16:31 +00:00
Yi Kong
8973bd7683 Merge "Enable the experimental LLVM new pass manager" am: 2adb7eec9a
am: c0377c2a12

Change-Id: Ia4af6b0c9be34bea2aff6d7c536a38420ebb567d
2019-05-24 11:17:33 -07:00
Yi Kong
2adb7eec9a Merge "Enable the experimental LLVM new pass manager" 2019-05-24 17:33:26 +00:00
Dimitry Ivanov
c44f7bbd9f Merge "Fix override for native_bridge modules" am: acce05a58c
am: ed0b1aa02f

Change-Id: Ie0887663e9366f0cfd7319e8026c67b33b62c79c
2019-05-24 06:11:32 -07:00
Dimitry Ivanov
acce05a58c Merge "Fix override for native_bridge modules" 2019-05-24 12:47:24 +00:00
Jooyung Han
9b0d87d4c1 Merge "soong: fix wrong link type for VNDKs" am: 18bb34d633 am: b0aca51ad6 am: a579e144c6
am: 5b0ecd4553

Change-Id: Idaef748e9254841e214895e28af6d3cd981edece
2019-05-24 05:17:32 -07:00
Dimitry Ivanov
16e7643f54 Merge "Apply native_bridge suffix to all cc_modules" am: 7636b362e1
am: 158ca2bfa2

Change-Id: I09fd0978f62c8812b3ba7e3ea02608b278448a11
2019-05-24 01:47:32 -07:00
Colin Cross
d001d27e31 Merge "Cut darwinStripPool from 10 to 5" am: ecca61f0f2 am: bf96a947f1 am: a78a8691d6
am: 88c85d904d

Change-Id: Ie0efa50702adb13f0b3d7dc631c866315ac7919d
2019-05-24 01:45:56 -07:00
Dimitry Ivanov
7636b362e1 Merge "Apply native_bridge suffix to all cc_modules" 2019-05-24 08:28:55 +00:00