Commit Graph

3295 Commits

Author SHA1 Message Date
Roland Levillain
bcb2d44966 Merge "Have symlink_preferred_arch: true honor the stem property." am: d7607c1c99
am: 299abf19c3

Change-Id: If982b553818062f476298027f0ae19b9e6699a06
2019-06-11 07:01:03 -07:00
Roland Levillain
d7607c1c99 Merge "Have symlink_preferred_arch: true honor the stem property." 2019-06-11 13:45:25 +00:00
Inseob Kim
434e298b5d Merge "Separate exported includes out of flags" am: b879fb6b4b
am: 6011640688

Change-Id: I2128da11b37b5a378cfb64039968cd9695a34ec3
2019-06-10 22:12:21 -07:00
Treehugger Robot
b879fb6b4b Merge "Separate exported includes out of flags" 2019-06-11 04:57:47 +00:00
Dan Willemsen
f8bd602f3f Merge "Add dependency to version script when linking stub libraries" am: d1fcc4a93d
am: 2cb02169d4

Change-Id: Icb497c8eb70c22bc5ff8c4b402d2277756c5078c
2019-06-10 21:16:11 -07:00
Treehugger Robot
d1fcc4a93d Merge "Add dependency to version script when linking stub libraries" 2019-06-11 03:59:42 +00:00
Josh Gao
8563a453d6 Merge "Revert "Revert "Revert "Revert "Enable lld for windows""""" am: a1738e2c00
am: 1697e781bb

Change-Id: I6ceaffde7b71606ca5a6d086502fcc6e52e24266
2019-06-10 19:00:22 -07:00
Inseob Kim
7c8b645347 Merge "Fix sysprop_library build err when using filegroup" am: 4b0cc8c3c5
am: 6364f4732a

Change-Id: Ibb1c9b593efe79d6de25ee828bfde9510fc8f9cb
2019-06-10 18:49:19 -07:00
Josh Gao
a1738e2c00 Merge "Revert "Revert "Revert "Revert "Enable lld for windows""""" 2019-06-11 01:43:42 +00:00
Inseob Kim
6937844c29 Separate exported includes out of flags
Exported includes have been maintained along with other C/C++ flags.
This makes dependencies unclear, and users have had to parse flags to
get exported directories. This separates exported includes and
exported flags, thus making data more structured and explicit.

Bug: 132818174
Test: m
Change-Id: I5c25ac2224988c4a67e4db6fd6e4d39090b74041
2019-06-11 10:37:56 +09:00
Treehugger Robot
4b0cc8c3c5 Merge "Fix sysprop_library build err when using filegroup" 2019-06-11 01:21:44 +00:00
Dan Willemsen
939408aa22 Add dependency to version script when linking stub libraries
This isn't an effective issue with local builds currently, since the
version script is generated from the same rule as the sources used to
compile the objects that are also used in the link command. But if we
ever separated those paths or adopted restat, we could miss this
dependency.

This is also required for my RBE build to actually expose this file to
the link step.

Test: treehugger
Change-Id: I32bbb18cf7edddc88759d4f445d081868f3e9b44
2019-06-10 18:02:25 -07:00
Colin Cross
59037628f4 Add GenerateAndroidBuildActions to DefaultsModuleBase
Add an empty GenerateAndroidBuildActiosn to DefaultsModuleBase
so that every defaults module doesn't need to provide one.  This
will also allow adding an implementation in the next patch.

Test: m checkbuild
Change-Id: I13554bdb3a287c2f18e1efab74d4f08a1ba8620c
2019-06-10 13:51:17 -07:00
Josh Gao
75a50a2c15 Revert "Revert "Revert "Revert "Enable lld for windows""""
This reverts commit b20200b3f5.

Bug: http://b/110800681
Test: manual
Change-Id: Id3eb45ed29f3977fef3da241ec2c43755116d60c
2019-06-10 12:59:11 -07:00
Colin Cross
9d5d72f7a6 Merge changes I9f8df94f,I2d7f5c56,I0ebb7381,Ieefcfc1a am: a6bf56d4be
am: 236ac108f5

Change-Id: Ia0777130add15aceb17739f5dcb613ca4e1bf172
2019-06-10 10:00:33 -07:00
Colin Cross
a6bf56d4be Merge changes I9f8df94f,I2d7f5c56,I0ebb7381,Ieefcfc1a
* changes:
  Consolidate *MutatorContext and ModuleContext into BaseModuleContext
  Consolidate baseContext, BaseContext, and BaseModuleContext
  Rename ModuleBase receivers
  Remove repetition in android package names
2019-06-10 16:38:11 +00:00
Inseob Kim
da63a49338 Fix sysprop_library build err when using filegroup
.sysprop files are intended to be used only with sysprop_library, and we
can prevent build error by specifying dependencies upon CreateModule.

Bug: 131708148
Test: 1) try building sysprop_library module.
Test: 2) see liblog is correctly linked.
Change-Id: I702cedc255ee0b6a30c15e474dd6a88d9607b145
2019-06-10 14:18:13 +00:00
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
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
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
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
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
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
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
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
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
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
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
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