Commit Graph

11737 Commits

Author SHA1 Message Date
Jaewoong Jung
c831a0a895 Merge "Touch up manifest if there's no source code."
am: 96eac767df

Change-Id: Ia83362ef4d234f0fc6c41919490fe607deaa6bb0
2019-06-06 07:12:51 -07:00
Jaewoong Jung
96eac767df Merge "Touch up manifest if there's no source code." 2019-06-06 13:52:37 +00:00
Tom Cherry
6030b711c0 Merge "system-clang-format: Add IncludeBlocks: Preserve"
am: c4253b0ac9

Change-Id: Ie144de6bb7d75b38c16142f57d453e726963cdbe
2019-06-05 20:36:31 -07:00
Treehugger Robot
c4253b0ac9 Merge "system-clang-format: Add IncludeBlocks: Preserve" 2019-06-06 01:37:08 +00:00
Tom Cherry
c077eefc1e system-clang-format: Add IncludeBlocks: Preserve
As of [1], the Google format, which we default to, uses IncludeBlocks:
Regroup, which sorts all includes with <> and without .h into the top
group reserved for libc headers, e.g.:

+#include <android-base/properties.h>
+#include <android-base/strings.h>
 #include <ctype.h>
 #include <stdlib.h>
 #include <sys/system_properties.h>

 #include <iostream>

-#include <android-base/properties.h>
-#include <android-base/strings.h>

This is accurate to the Google C++ style guide, which states that
other library headers should be included with "", however we have a
strong tendency to use <> for these headers for Android, so we must
revert this change.

Note, clang-format allows regexes for creating the blocks as well,
however, short of including all possible libc headers, I don't think
there's a way to differentiate between <sys/wait.h> and
<other_lib/header.h>.

[1]:
62e3198c4f (diff-b689ebff2e51e675b346a88289e74542)

Test: clang-format doesn't do the above.
Change-Id: Ifef605ffd6b4c8a36512377644e64ddd26b68a21
2019-06-05 15:30:14 -07:00
Jaewoong Jung
58d0f0cf69 Merge "android_app stl property bug fix"
am: 4f67c42d76

Change-Id: I977fa1fcd8c73495447b208a7289ba4a9a97d575
2019-06-05 13:37:36 -07:00
Jaewoong Jung
4f67c42d76 Merge "android_app stl property bug fix" 2019-06-05 20:16:13 +00:00
Colin Cross
edff7ed8da Merge "Add .jar tag to java modules"
am: ac1d267368

Change-Id: I649f069bb7c5ae6758633b7c597c2010765a7748
2019-06-05 12:50:11 -07:00
Treehugger Robot
ac1d267368 Merge "Add .jar tag to java modules" 2019-06-05 19:23:38 +00:00
Colin Cross
a360b2b335 Merge "Support tagged module references"
am: b4c35f3378

Change-Id: I5f262b69306816647aa72ebaba775a243244bacd
2019-06-05 10:29:47 -07:00
Roland Levillain
97c9f50490 Merge "Remove extra word in soong.android.archMutator's comment."
am: 933d2a8e63

Change-Id: Ib57d1cc650c8aba73ebdd24f76557200fe2310f0
2019-06-05 10:17:34 -07:00
Treehugger Robot
b4c35f3378 Merge "Support tagged module references" 2019-06-05 17:17:32 +00:00
Treehugger Robot
933d2a8e63 Merge "Remove extra word in soong.android.archMutator's comment." 2019-06-05 17:04:52 +00:00
Patrice Arruda
6ed00c6589 Merge "Soong: Define a new Soong module named prebuilt_firmware."
am: e52b978c2a

Change-Id: If211cc85b234a5d8b940390f2c7742c492ce3990
2019-06-05 09:30:57 -07:00
Patrice Arruda
bec61831a1 Merge "Soong: Add mk2bp conversion for prebuilt_firmare."
am: fe49f17535

Change-Id: I340a640e04fb6b47b2302b13c3fd39329d5b38d6
2019-06-05 09:30:19 -07:00
Treehugger Robot
e52b978c2a Merge "Soong: Define a new Soong module named prebuilt_firmware." 2019-06-05 16:17:10 +00:00
Treehugger Robot
fe49f17535 Merge "Soong: Add mk2bp conversion for prebuilt_firmare." 2019-06-05 16:16:52 +00:00
Roland Levillain
f5b635d51f Remove extra word in soong.android.archMutator's comment.
Test: n/a
Change-Id: Idb12ebe3f1c1f5bac303fba3ea98aaa569294e90
2019-06-05 14:46:25 +01:00
Jimmy Chen
3e0d465e8b Merge "Revert "Revert "Revert "Print full diagnostics file when Java process crashes.""""
am: 7c9689f7b7

Change-Id: I32f367c36f71d4f51fe0cc6c7af80816a8542e84
2019-06-05 03:12:16 -07:00
Treehugger Robot
7c9689f7b7 Merge "Revert "Revert "Revert "Print full diagnostics file when Java process crashes."""" 2019-06-05 09:53:22 +00:00
Jimmy Chen
e88eaa7db7 Revert "Revert "Revert "Print full diagnostics file when Java process crashes."""
This reverts commit b4be092855.

Reason for revert: break build

Change-Id: I11fc5eb5f635a5d99eba962f5817851629e50ab2
2019-06-05 06:47:11 +00:00
Yi Kong
98c2e16956 Merge "Clean up no_libgcc"
am: 4cb61bed13

Change-Id: I4ff09bd3934881852fe079865a026a4bf91671aa
2019-06-04 19:36:45 -07:00
Yi Kong
4cb61bed13 Merge "Clean up no_libgcc" 2019-06-05 00:58:35 +00:00
Patrice Arruda
1ef3bb5d51 Soong: Add mk2bp conversion for prebuilt_firmare.
There are a couple of makefiles that have etc with $(TARGET_OUT)/etc/firmware,
$(TARGET_OUT_VENDOR)/firmare as the local module path. Added the conversion in
androidmk for target.

Bug: b/133711895
Test: Unit test cases.
Change-Id: I74aca18a7eb8aa4dd692cde680fa4e112edcf6d1
2019-06-04 17:10:48 -07:00
Alexander Smundak
439ef91ee5 Merge "Revert "Revert "Print full diagnostics file when Java process crashes."""
am: 22d3d6ba5c

Change-Id: I3a71d6df8a39a370acd13631960641ac0986e7b7
2019-06-04 12:47:50 -07: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
375ca3c680 Add .jar tag to java modules
Allow java modules to be referenced as ":module{.jar}" to get
the classes .jar.

Bug: 122333007
Test: m checkbuild
Change-Id: I2d07f774ae8ed5a39206059c4102727c6802d26e
2019-06-04 10:22:55 -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
Treehugger Robot
22d3d6ba5c Merge "Revert "Revert "Print full diagnostics file when Java process crashes.""" 2019-06-04 17:16:10 +00:00
Colin Cross
5a927378ea Merge changes I88973671,If5a3b53a
am: 2406a123ba

Change-Id: Id7649534555602f7a3716d570ca88d93330fae75
2019-06-03 23:25:19 -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
b78d3c1b70 Merge "Omit .gnu_debuglink sections in object files"
am: e29e2473d2

Change-Id: I81dc36130b94bb8e0739c76c98392b6e07cec9c4
2019-06-03 16:29:29 -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
Colin Cross
cefa94bd27 Fix data race and ordering consistency in apex modules
apexDepsMutator can be called on multiple apex modules in parallel,
and then two goroutines could call BuildForApex on the same module
in parallel, leading to a data race appending to apexVariations.
This also results in random ordering of the entries in
apexVariations.

Hold a mutex around appending to apexVariations, and sort it before
passing it to ctx.CreateVariations.

Fixes: 134425751
Test: m nothing
Change-Id: If5a3b53a778daacb3e26ac05cde872cf8eb980b3
2019-06-03 15:52:27 -07:00
Patrice Arruda
057a8b1114 Soong: Define a new Soong module named prebuilt_firmware.
There are several firmware files that are being installed to
system/etc/firmware or vendor/firmware. A new module type is
defined to install firmware files to install in the system
or vendor image.

Fixes: b/133711895
Test: Ran lunch, wrote unit test cases, created a sample Android.bp
      with defined prebuilt_firmware Soong and ran mma.

Change-Id: Iaa791cdda4402936037c5a456cc8bf8e6c905b3e
2019-06-03 15:40:22 -07:00
Jaewoong Jung
c27ab6678b Touch up manifest if there's no source code.
The new package manager behavior requires packages without source code
to have an application element with hasCode attribute set to false in
their manifest. With this change, Soong can now automatically insert one
for codeless apps.

Test: app_test.go, manifest_fixer_test.py
Fixes: 124375490
Change-Id: Ied89a8d07c63805ab910859a4f7c45fc1c60bb73
2019-06-03 10:51:42 -07:00
Alexander Smundak
b4be092855 Revert "Revert "Print full diagnostics file when Java process crashes.""
This reverts commit d71dc6b5e0.

Reason for revert: ag/974065 fixes the problem that caused the revert

Change-Id: I3ba9eecdab34602aaf19fa518520ac932c9b97af
2019-06-03 16:53:22 +00: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
Jaewoong Jung
d41cf78501 Merge "Add data property to sh_test."
am: 06b2c69cfe

Change-Id: I31ff299bc84b6df8bc2336d1ddf2219e402ef1e0
2019-05-31 09:32:34 -07:00
Jaewoong Jung
06b2c69cfe Merge "Add data property to sh_test." 2019-05-31 16:05:42 +00:00
Dimitry Ivanov
441c715fe8 Merge "Skip native_bridge modules when installing vndk snapshot"
am: 656833e0c8

Change-Id: I51aea73275dc2e1e7d5fe01307a7eaca1918b74f
2019-05-31 06:07:26 -07:00
Dimitry Ivanov
656833e0c8 Merge "Skip native_bridge modules when installing vndk snapshot" 2019-05-31 12:51:55 +00:00
Alexander Smundak
62459d6586 Merge "Revert "Print full diagnostics file when Java process crashes.""
am: d5dd534465

Change-Id: Idc4b3e6985825669c0c473e80f0dca7e8b936baf
2019-05-31 02:51:35 -07:00
Treehugger Robot
d5dd534465 Merge "Revert "Print full diagnostics file when Java process crashes."" 2019-05-31 09:37:36 +00:00
patricktu
0fd9fb5299 Merge "AIDEGen: Collect the srcjar into out/soong/module_bp_java_deps.json"
am: b023fe382b

Change-Id: Iecbe23e5c5845fc3541583d1a81eb28a45f412f8
2019-05-30 22:42:49 -07:00
Treehugger Robot
b023fe382b Merge "AIDEGen: Collect the srcjar into out/soong/module_bp_java_deps.json" 2019-05-31 05:29:15 +00:00
Colin Cross
acb00184c3 Merge "Make test_options.timeout an int64"
am: 76acdadaf7

Change-Id: I8ca70f00056555feb95434a7ece28e1bb6604e2d
2019-05-30 20:18:58 -07:00
Alexander Smundak
d71dc6b5e0 Revert "Print full diagnostics file when Java process crashes."
This reverts commit 9d6df2246c.

Reason for revert: This change set the value of JAVA make variable to a string containing "foo bar". When soong_ui is asked to evaluate such string, it drops the quotes, causing bash to treat 'foo' and 'bar' as separate command line arguments.

Change-Id: If4e3c4c950c305bb67a572de3d86119c2da81dc1
2019-05-31 03:15:55 +00:00