Commit graph

27207 commits

Author SHA1 Message Date
Dan Willemsen
3bf15e71d3 Record module type statistics
Creates a build_system_stats.txt build artifact that contains statistics
on how many BUILD_* modules are defined in a build. Also writes out
information about the Soong module types sent from the Soong build.

Merged-In: Iaf0c7062f542dc6942b5349854f3d49267cac4a5
Change-Id: Iaf0c7062f542dc6942b5349854f3d49267cac4a5
2016-07-29 19:58:35 +00:00
Narayan Kamath
900e9e6392 Merge "Add java.lang.invoke to the package whitelist." 2016-07-22 09:33:16 +00:00
Chih-hung Hsieh
053c54b554 Merge "Count warnings per project and dump out CSV format." 2016-07-22 00:54:50 +00:00
Chih-Hung Hsieh
48a16ba709 Count warnings per project and dump out CSV format.
* No change to html output, except removing unused "PageTop" anchor.
* Add --gencsv flag to output a CSV file instead of html file.
  CSV files are combined to a table for dashboard charts.
* Count warnings from selected source project directories.
* CSV output lines are:
   num_of_warnings,project_name,warning_description
* project_name is empty for sum of warnings from all projects.
* warning_description could be:
  (1) "<severity>: <warning type description>"
      for one warning type, or
  (2) "<severity> warnings"
      for all warning types of the severity.

Change-Id: I1cf976ed0cf142091226b22665b7f28d383608fd
Test: run through current build.log files.
2016-07-21 14:43:02 -07:00
Colin Cross
921be36569 Merge "Split -isystem headers into separate variables" 2016-07-21 17:51:13 +00:00
Narayan Kamath
497c35c1a7 Add java.lang.invoke to the package whitelist.
Tracks libcore change that adds the first classes from this package
to core-oj.jar. Note that packages need to be whitelisted even if
the classes in question aren't public API.

Test: make checkbuild docs

Change-Id: I917dc63899124ca30bbeb2902787faea6754bb43
2016-07-21 15:27:09 +01:00
Colin Cross
23ba612aad Split -isystem headers into separate variables
Split the variables that contain header directories into ones that
should be prefixed with -isystem and ones that should be prefixed with
-I in preparation for moving some headers from -isystem to -I.

Add $(wildcard) around SRC_HEADERS to match the soong behavior, and move
users of SRC_HEADERS from config.mk to binary.mk so that the exported
soong value is present.

Test: no changes to build.ninja compile rules
Change-Id: Iadecbbf4351a01e53cb57e721d31f4f836bb82d9
2016-07-20 23:09:29 -07:00
Treehugger Robot
6131119708 Merge "Recognize new clang and clang-tidy warnings." 2016-07-20 22:57:29 +00:00
Chih-Hung Hsieh
c21ddbdcce Recognize new clang and clang-tidy warnings.
* Count new clang-tidy warnings:
    google-runtime-references
    google-runtime-operator
* Count new clang warnings:
    -Wconst-conversion similar to -Wliteral-conversion
    -Wundefined-var-template
* Modified static analyzer warning message about
    "Null passed to a callee that requires a non-null ..."
* Disable google-runtime-references by default and
  disable misc-macro-parentheses in vendor projects;
  too many old C/C++ code have this warning.

Change-Id: Ib35e0af85875aada17c92b0237b76cd5ae3bfcc8
Test: build with clang-tidy.
2016-07-20 14:45:01 -07:00
Treehugger Robot
95fa32b577 Merge "Factor out common include directories into helper" 2016-07-20 21:11:22 +00:00
Fang Deng
14df2ef4d0 Merge "Remove GOMA_HERMETIC form goma.mk" 2016-07-19 23:32:37 +00:00
Colin Cross
e25fd79337 Factor out common include directories into helper
Refactor includes in transform-*-to-o to simplify future changes to the
default include paths.

Test: whitespace-only changes to the compile rules in build.ninja
Change-Id: I766af1f22a4838d933691b6df37530db3ba4e21d
2016-07-19 15:09:50 -07:00
Stephen Hines
b1beb6f274 Merge "Switch to prebuilt clang-3016494" 2016-07-19 22:02:31 +00:00
Stephen Hines
11e0e36462 Merge "Disable warnings triggered in Clang r271374" 2016-07-19 22:02:31 +00:00
Fang Deng
c0829a5899 Remove GOMA_HERMETIC form goma.mk
This CL removes the GOMA_HERMETIC setting from goma.mk so that
the default setting will be used. By default, GOMA will fallback
to local compiler if the exactly matched compiler is not available.

Change-Id: I22c83594f6bd30bc8ed1334ab7bb256ef218567b
2016-07-19 20:58:22 +00:00
Pirama Arumuga Nainar
1679c3649b Disable warnings triggered in Clang r271374
http://b/28149048
http://b/29823425

Disable -Wnull-dereference.  The second bug above tracks that this
warning gets re-enabled.

Test: Tested build, boot and common usage for Arm, Arm64, x86, x86_64,
Mips images in AOSP and internal branch.

Change-Id: Ie41a495dd9bb247d3609f4848d7669d1faaeeb79
2016-07-19 20:32:28 +00:00
Pirama Arumuga Nainar
d1c2ff4f06 Switch to prebuilt clang-3016494
Test: Tested build, boot and common usage for Arm, Arm64, x86, x86_64,
Mips images in AOSP and internal branch.

Bug: http://b/29823425
Change-Id: I97299c8b41ff9d3ac7019a349aa569609a099233
2016-07-19 20:32:21 +00:00
Treehugger Robot
0cbba3df2a Merge "Avoid matching the same warning line twice." 2016-07-18 23:18:47 +00:00
Chih-Hung Hsieh
5ecafd1260 Avoid matching the same warning line twice.
Used to skip only immediately followed identical warning lines.
Now classifywarning is called only once for each unique warning line.

Change-Id: Ie3b77ded70b41dafad91c042dbe15ad2be119e62
Test: run through build.log file
2016-07-18 15:27:02 -07:00
Dan Willemsen
575a023039 Merge "Rename libevent-host to libevent" 2016-07-18 19:18:32 +00:00
Colin Cross
458c0cd37b Merge "Only add linker_asan as dependency to shared executables" 2016-07-17 23:38:39 +00:00
Colin Cross
d08699e464 Only add linker_asan as dependency to shared executables
linker_asan is only needed by shared exectuables, prevent adding it as a
dependency of anything else.  Avoids a dependency loop from
linker_asan -> linker -> linker_asan.

Change-Id: Id7744ad8a5901468518fac80741c75e764adb559
2016-07-17 15:30:46 -07:00
Treehugger Robot
1e92cfb9a0 Merge "Add support for LOCAL_MODULE_SYMLINKS" 2016-07-15 21:34:33 +00:00
Colin Cross
744d33b381 Add support for LOCAL_MODULE_SYMLINKS
Specifying LOCAL_MODULE_SYMLINKS will create symlinks to the installed
module in the same directory.

Change-Id: Idecb2b75f0c9999eb000eed9a79a989244ccf6c2
2016-07-15 12:22:39 -07:00
Badhri Jagan Sridharan
70a9714625 Merge "Add build variant to kernel command line" 2016-07-15 17:00:13 +00:00
Dan Willemsen
ef31fc6477 Rename libevent-host to libevent
There's no need to use a different name for target and host modules, and
in Soong, it's better to use the same for both.

Change-Id: Ib2d8d0cc8a1e0f7f95d7c2795a360f02d946fa1a
2016-07-13 23:47:24 -07:00
Dan Willemsen
4ea20be28b Merge "Allow prebuilts to specify mini-debug-info" 2016-07-14 04:04:43 +00:00
Dan Willemsen
4598fbc9dd Allow prebuilts to specify mini-debug-info
So that Soong can specify the default that's used by Make.

Change-Id: I0c1062ad8f21df8b9a483f99dce679a1434e4859
2016-07-13 17:39:56 -07:00
Tao Bao
461a3283d9 Merge "Fix root_filesystem_config.txt generation" 2016-07-13 23:04:10 +00:00
Treehugger Robot
b8bd19db88 Merge "Pass ENABLE_CPUSETS and ENABLE_SCHEDBOOST to Soong" 2016-07-13 00:39:06 +00:00
Dan Willemsen
913892fada Pass ENABLE_CPUSETS and ENABLE_SCHEDBOOST to Soong
Change-Id: I75c0d60854f2ea3d2e4e4d6dcbc6845e3b0336ad
2016-07-12 15:00:46 -07:00
Treehugger Robot
32ebe53d01 Merge "Turn ndk link check warning into error" 2016-07-12 21:09:32 +00:00
Dan Willemsen
ac1fe5c8b2 Turn ndk link check warning into error
All instances of this have been removed from the downstream trees. The
APK->JNI_SHARED_LIBRARY and Java->Java checks remain as warnings.

Change-Id: I3eaee284500deee0f26a4f9cdd96497e99ec533e
2016-07-12 13:10:31 -07:00
Colin Cross
8bc18d35ec Merge "Remove Android.bp logic from makefiles" 2016-07-12 16:15:55 +00:00
Colin Cross
65543c7bc2 Remove Android.bp logic from makefiles
When Soong was optional, the make build system needed extra complexity
to ignore Android.mk files that had an associated Android.bp file.  Now
that Soong is required and the Android.mk files that were obsoleted by
an associated Android.bp file have been removed, remove all of the logic
that found associated Android.bp files.  Android.mk files and Android.bp
files are now handled independently.

Change-Id: Ia6643d151b920689219ca8abd59ede44d230ba35
2016-07-11 16:57:33 -07:00
Dan Willemsen
e706372ba1 Merge "Extend SDK link check to java libraries" 2016-07-11 20:20:40 +00:00
Treehugger Robot
4058a71747 Merge changes from topic 'imgdiff-squashfs'
* changes:
  releasetools: Fix the detection of using squashfs.
  releasetools: Disable using imgdiff for squashfs.
2016-07-11 15:55:51 +00:00
Tao Bao
62a6c464a2 releasetools: Fix the detection of using squashfs.
We should disable using imgdiff if *any* of the source and target
partitions uses squashfs.

Bug: 30004734
Test: Create an incremental with two builds with one of them uses squashfs.
Change-Id: I826cd13d7b852c548e4b45e61f5ae00f6407cac3
(cherry picked from commit f8acad1480)
2016-07-10 23:16:14 -07:00
Tao Bao
b6568cd4be releasetools: Disable using imgdiff for squashfs.
We use imgdiff to handle files in zip format (e.g. jar/zip/apk) for
higher compression ratio.

For system/vendor in squashfs, a) all files are compressed in LZ4
format; b) we use 4096-byte block size in their sparse images, but the
files in squashfs may not be laid out as 4K-aligned. So the blocks for
a given file as listed in block map may not form a valid zip file, which
may fail the patch generation with imgdiff.

Disable using imgdiff for squashfs images, and use bsdiff instead.

Bug: 22322817
Change-Id: Ie76aa4cece5c9d38cb1d1a34c505a4a8f37512d3
(cherry picked from commit 293fd135c7)
2016-07-10 23:15:48 -07:00
Dan Willemsen
62dfb591b1 Extend SDK link check to java libraries
Java code using the SDK should not link to java code built with the
platform APIs or the system SDK. Java code using the system SDK should
not link to the platform APIs either, but it can link to java code using
another SDK.

Change-Id: Iaae0a7e01993cfa1e023649fbd8a7974b5eca709
2016-07-09 04:42:15 +00:00
Treehugger Robot
8a09095c34 Merge "releasetools: Fix the payload public key replacement." 2016-07-08 20:58:49 +00:00
Tao Bao
13b6962e8d releasetools: Fix the payload public key replacement.
update_engine expects the extracted public key instead of the
certificate.

Bug: 28701652
Change-Id: I292d39da9e039f96d01a4214226aeb46f8cb881d
(cherry picked from commit afaf295cb8)
2016-07-08 12:52:45 -07:00
Gaelle Nassiet
aa8f2f65a0 Fix root_filesystem_config.txt generation
The first line returned by awk is empty. In consequence, when
fs_config computes its mode it will consider this line as a file (no
trailing slash) and affect the default android_files mode which is
0644. The mode for the root directory should be the default
android_dirs mode 0755.
Add a special case in fs_config to consider empty line as a directory.

Change-Id: I9f33f6fcf4be05c31914db898e65c92b0a611518
Signed-off-by: Gaelle Nassiet <gaellex.nassiet@intel.com>
2016-07-08 10:40:06 +02:00
Treehugger Robot
c78147c650 Merge "Move apksigner library to tools/apksig." 2016-07-07 20:33:05 +00:00
Treehugger Robot
aa3525dcf1 Merge "Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts" 2016-07-07 19:14:54 +00:00
Colin Cross
5d934c7924 Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts
Change-Id: I92a838b07fe4116d5a4b8521fe1ce8d44e6e84e2
2016-07-07 11:16:49 -07:00
Treehugger Robot
1734523900 Merge "Recognize new C/C++ compiler and static analyzer warnings." 2016-07-07 18:07:21 +00:00
Alex Klyubin
1b09a508ba Move apksigner library to tools/apksig.
This moves build/tools/apksigner/core to its own project tools/apksig.
The move also renames the moved Java packages from
com.android.apksigner.core.* to com.android.apksig.* to reflect the
new name of the library.

Bug: 27461702
Change-Id: Iab812ae2b8f0a741014f842460c78e35bc249d43
2016-07-07 10:53:14 -07:00
Dan Willemsen
59a405c831 Merge "Never add asan libraries to NDK code" 2016-07-07 17:07:43 +00:00
Treehugger Robot
d81beca2b2 Merge "APK signer primitive." 2016-07-06 22:59:32 +00:00