Commit Graph

26935 Commits

Author SHA1 Message Date
Sen Jiang f1ae051bb0 Remove libdivsufsort shared library from otatools.
The library is now a static library.

Bug: 26955860
Change-Id: I64525737da1451895c255a30904a1e3e4ad8d253
2016-04-04 13:44:06 -07:00
Dan Albert 66dcc50c71 Merge "Update NDK libc++ header paths." 2016-04-04 20:27:42 +00:00
Elliott Hughes 1598df4c7d libm's headers have moved to live with their libc cousins.
(To reduce the need for this kind of thing in the various build systems.)

Change-Id: I4430a76a749262b0234c194434b331f7294da009
2016-04-04 12:58:50 -07:00
Mohamad Ayyash ce30869713 Merge "Always build squashfs host tools" 2016-04-04 19:42:25 +00:00
Mohamad Ayyash 95fe0025c1 Always build squashfs host tools
Now that mac compatibility has been fixed

BUG: 27657762
Change-Id: I49933ccedf74b9d172967dad721971a752047da6
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2016-04-04 12:33:24 -07:00
Sebastien Hertz 2319e56366 Fix code coverage for apps
When building apps with EMMA_INSTRUMENT=true, we must ensure that
jacoco is at least on the classpath (or even embedded for unbundled
branches) and that proguard will ignore jacoco classes. Otherwise
the Jack compilation would fail.

For unbundled build, we include the proguard configuration file
build/core/proguard.jacoco.flags to ignore jacoco classes.

For full build, we ensure jacoco is on the classpath during the
jack compilation.

Bug: 27607712

(cherry picked from commit d9641e01f3)

Change-Id: Ib46c91d03721f2418b15c17546d4f322f2f90a28
2016-04-04 10:48:02 +02:00
Miao Wang 5d4d1d8ebb Merge "[RenderScript] Update the build rules for x86_64 support lib." 2016-04-01 20:22:41 +00:00
Chih-hung Hsieh 29667bf9d8 Merge "Recognize more Clang-Tidy google warning patterns." 2016-04-01 16:15:57 +00:00
Chih-Hung Hsieh d742e90fe9 Recognize more Clang-Tidy google warning patterns.
* Many AOSP C/C++ code have google-readability warnings.

Bug: http://b/27779618
Change-Id: Ic7d33b957da5c1062410f48ef18bb68a5aa259e9
2016-03-31 16:14:55 -07:00
Dan Albert 4410c29fd0 Merge "Add LOCAL_NDK_VERSION." 2016-03-31 23:11:26 +00:00
Miao Wang 4121aa9bb8 [RenderScript] Update the build rules for x86_64 support lib.
Bug: 19735423

  - Unlike other archs, x86_64 has both usr/lib and usr/lib64. we need
    to search for libm.so and libc.so in lib64/. Otherwise the linker
    will report error.

Change-Id: I2859bee066a9eb100828d90da8adf0f9817d77e6
(cherry picked from commit 57ef7ea490)
2016-03-31 15:26:24 -07:00
Dan Albert 658d1e0434 Update NDK libc++ header paths.
The r11 libc++ uses libc++abi instead of libgabi++.

Bug: http://b/27801981
Change-Id: I5b90c14125dc024b2b290897bb3ef1c8d9546a7b
2016-03-31 14:22:09 -07:00
Dan Albert 13306af0c1 Add LOCAL_NDK_VERSION.
Used to select between releases of the NDK (r10, r11, etc).

Some of the libraries we use in Android come as prebuilts from
google3, which are most likely built against an older NDK than what
we have in the platform. Since things may not be ABI compatible
release to release, we need to keep legacy versions accessible for
those to keep building.

Change-Id: Ia3df42fa6f3a7bd5108ff6bbb0f2ca06239c3be9
2016-03-31 12:54:21 -07:00
Ying Wang 77b6353689 Merge "Remove support of disabling Jack." 2016-03-31 16:52:49 +00:00
Ying Wang 0fda1eaa43 Merge "Replace $(shell) in recipe with subshell." 2016-03-31 16:46:18 +00:00
Ying Wang a6a9ab07ed Replace $(shell) in recipe with subshell.
Bug: 27925180
Change-Id: I4a735755e4f818f6ce608c87ad111b9dd205ef41
2016-03-30 18:34:43 -07:00
Dan Willemsen 8db170d914 Merge "Remove extraneous /" 2016-03-30 21:24:08 +00:00
Ying Wang 858657366f Remove support of disabling Jack.
We removed code and variables related to running dx on classes.jar in
this change. Also removed target emma rules (but kept the emma rules for
host java libraries), for it's now done by Jack.
We still support to build classes.jar (and javalib.jar for static Java
libraries) using javac, because tools like javadoc need class files as
input.
Removed the obsolete install-dex-debug.

Bug: 27400061
Change-Id: If0bcdfe62cb181a98754fb0dbe1c12c92e38d3e8
2016-03-30 14:03:12 -07:00
Dan Willemsen 1c4f8e0026 Remove extraneous /
This matches the line we use in Soong, and behaves no differently.

Change-Id: I4487f7f5555edd08dc67a22d547f8218d46ccd8f
2016-03-30 13:36:01 -07:00
Ying Wang c79c95d3d8 Merge "Keep emma files for host rules" 2016-03-30 16:56:54 +00:00
Chih-hung Hsieh af90d19937 Merge "Recognize Clang-Tidy warning messages." 2016-03-30 16:12:34 +00:00
Sebastien Hertz 8f0e52c3a6 Keep emma files for host rules
Keep coverage.em file name for host rules where Jack is not called.

(Partially reverts change 491c9ce48a)

Bug: 27822188
Change-Id: Ia9344e17ecbecfb9c335608740ab7dc5490c48d5
2016-03-30 09:39:18 +02:00
Dan Willemsen a223b1cff7 Merge "Darwin: Use the same `ar` as Soong" 2016-03-30 00:38:32 +00:00
Dan Willemsen 6a54a9f10a Darwin: Use the same `ar` as Soong
Soong uses the copy of `ar` in the OSX SDK instead of the wrapper in
/usr/bin/ar. /usr/bin/ar appears to be a thin wrapper that looks up the
current SDK and passes execution to it. Soong does this so that it can
actually set up a dependency on the tool.

Change-Id: Ia4e4fbe3287539933fa98a1354c3ccee91f4d552
2016-03-29 16:21:32 -07:00
Chih-Hung Hsieh 90d4619f02 Recognize Clang-Tidy warning messages.
* Put all Clang-Tidy warning messages in a group for now.
  There are too many coding style warnings.
* Change the 'top' link to the top of the page.
* Add a few more new clang compiler warnings.

Bug: http://b/27779618
Change-Id: I385b9db927a397704b56f53440301352da8694cf
2016-03-29 15:33:11 -07:00
Dan Willemsen e4d5e08c2e Merge "Forbid Clang for Windows" 2016-03-29 20:54:24 +00:00
Shinichiro Hamaji 4487319141 Merge "Fix dependencies around tools/*-event-log-tags.py" 2016-03-29 20:40:31 +00:00
Dan Willemsen 9537477df7 Forbid Clang for Windows
Clang and MinGW are not expected to work together currently, and you get
strange errors when this is attempted. Instead, error out with a clear
error message.

Before the windows build rewrite, we'd just explicitly set my_clang to
false without checking what the module asked for. Now, error out if the
module explicitly asked for clang, since by default they'd have it
already if it wasn't for windows. That way when Clang+Windows does
become possible, it can gradually be tested by setting LOCAL_CLANG to
true.

Change-Id: I9e0b0dca30946d94894119443f2fd0593cee1793
2016-03-29 12:34:03 -07:00
allenhair 616f08696e Merge "Only add jacocoagent if the package contains some java code." 2016-03-29 19:20:10 +00:00
Shinichiro Hamaji d3ce14c325 Fix dependencies around tools/*-event-log-tags.py
We should regenerate merged tag files and java sources when
these scripts are updated.

Change-Id: Id5f11d6f480f3f74dab08f01e929ee2d7fafd2d0
2016-03-30 03:04:40 +09:00
Allen Hair 29b65c4e66 Only add jacocoagent if the package contains some java code.
Bug: 27877982
Change-Id: I8bf05d67a823402e7e488990753cc9005ec5e90b
2016-03-29 10:47:49 -07:00
Sebastien Hertz f7e06ef3b4 Merge "Rename emma coverage files" 2016-03-29 07:17:12 +00:00
Ying Wang 8fe0fc9065 Merge "Remove javac support in host dex rules." 2016-03-26 01:41:38 +00:00
Ying Wang 550e885f47 Merge "[DO NOT MERGE] Remove code pulled in by accident." 2016-03-26 01:27:32 +00:00
Ying Wang 40a4a83c90 [DO NOT MERGE] Remove code pulled in by accident.
Remove code pulled in by accident in cherry-pick commit fbc5b9f56.

Change-Id: I4e4a336faf71782c208631c581b2587a5364212f
2016-03-25 18:24:42 -07:00
Ying Wang d314805c29 Merge "Support x86+arm multilib build." 2016-03-25 21:41:41 +00:00
Ying Wang 87538e4f8b Support x86+arm multilib build.
Support TARGET_2ND_ARCH as the binary translation arch.
See target/board/generic_x86_arm/BoardConfig.mk and
target/product/aosp_x86_arm.mk as example for the setup.

In BoardConfig, use the TARGET_2ND_ARCH/etc. variables to set up the
binary translation arch;
Set "TARGET_TRANSLATE_2ND_ARCH := true" to tell the build system it's
not a typical 64-bit multilib configuration.
In product makefile, use "PRODUCT_PACKAGES += libfoo_<2nd_arch>" to
install the TARGET_2ND_ARCH libraries. This also pulls in any dependency
libraries.
By default we don't install any TARGET_2ND_ARCH modules, unless it's
pulled in by PRODUCT_PACKAGES.

Bug: 27526885
Change-Id: I0578e9c80da0532d2fa886a8fcdb140bbc703009
(cherry-pick from commit 277e75a488)
2016-03-25 13:29:53 -07:00
Ying Wang ec0288fdb2 Merge "Use $(BUILD_SYSTEM) as the LOCAL_PATH of auto-generated modules." 2016-03-25 20:16:31 +00:00
Ying Wang e5c80560f4 Merge "Rebuild odex files in PDK fusion build." 2016-03-25 20:16:25 +00:00
Tao Bao 973ce2f018 Merge "rangelib.py: Add parse_raw() method." 2016-03-25 18:49:56 +00:00
Ying Wang 363fe53450 Use $(BUILD_SYSTEM) as the LOCAL_PATH of auto-generated modules.
So that we don't mess up with the vendor path check by accident.

Bug: 27543283
Change-Id: I6c34caefe3ff4abfdd8349a32c68fcca524cfd8e
(cherry-pick from commit efaf5efd06)
2016-03-25 11:06:51 -07:00
Ying Wang fbc5b9f56b Rebuild odex files in PDK fusion build.
To rebuild odex files of Java libraries and apps,
we store the jars/apks without stripping the classes.dex inside the
platform.zip. We also save the build variables that may affect how we
rebuild an odex in pdk_dexpreopt_config.mk in the platform.zip.
We store the files and configuration only for libraries/apps that get
installed to the system.img (or vendor.img).

In PDK fusion build, we auto-generate prebuilt module definitions for
the javalib.jar and package.dex.apk carried in the platform.zip, using
configuration stored in pdk_dexpreopt_config.mk.
With the prebult modules, we override the implicit rule that directly
copies the odex from the platform.zip.
To rebuild odex of javalib.jar, we added support for prebuilt shared Java
library to prebiult_internal.mk. An installable prebuilt Java library is
treated as shared Java library, i.e. with classes.dex in the jar instead
of a set of .class files.
For apks in the platform.zip, we install the stripped version from
platform files inside platform.zip, instead of the package.dex.apk,
using a new variable LOCAL_REPLACE_PREBUILT_APK_INSTALLED. We can't
strip package.dex.apk because we can't re-sign the stripped apk at this
point.

We generate prebuilt module only if it's not already defined in the
source tree.

Bug: 27543283
Change-Id: I9e146f8b713d6f57c397fd28d88c9ab700757ca1
(cherry-pick from commit 3a61eeb6cb)
2016-03-25 11:06:04 -07:00
Ying Wang 6557ba5335 Merge "Remove rmtypedefs from the build system." 2016-03-25 17:29:30 +00:00
Sebastien Hertz 491c9ce48a Rename emma coverage files
We no longer use emma with Jack. However, during the process of a
full build, we may run the emma task and overwrite the coverage file
generated by Jack with the one from emma because they use the same
filename.

This CL renames coverage files generated by emma so they no longer
break those created by Jack.

Bug: 27822188
Change-Id: Ie3fdc2b8f53deafbefbd6973e39f29d8c46f371e
2016-03-25 17:11:38 +01:00
Ying Wang 3ae7861252 Remove javac support in host dex rules.
- Remove javac support in host_dalvik_java_library.mk
- Simplify host_dalvik_static_java_library.mk by including
  host_dalvik_java_library.mk instead of host_java_library.mk.
- Take configure_local_jack out of host_java_library_common.mk because
  it's only needed by host dalvik java libraries.

Bug: 27400061
Change-Id: I4088b09092198118d832a759663bbaadff669ed5
2016-03-24 16:48:47 -07:00
Tao Bao 20d4e10bf3 Merge "Add libbase to otatools" 2016-03-24 21:50:37 +00:00
Dan Willemsen fe09018b39 Merge "Handle symlinked OUT_DIRs (again)" 2016-03-24 20:38:08 +00:00
Ying Wang 72bc59ce8b Remove rmtypedefs from the build system.
We don't need to run rmtypedefs in javac compilation now, because the
runtime libraries are compiled by only jack, which takes care of
rmtypedefs by itself.

Bug: 27828139
Change-Id: Ie480ae5aead8f3f58f956978fc4a05c28a35dec6
2016-03-24 12:25:56 -07:00
Ying Wang 49b524cb4a Merge "Add phony target javac-check." 2016-03-24 18:30:57 +00:00
Ying Wang cddeb6c4f0 Add phony target javac-check.
javac-check covers all classes.jars that are compiled with javac
instead of jack. This target is required by tools that still need java
class files as input.

Bug: 26705771
Change-Id: I6896b9a6026a2a0dae6145d1ef5a839756aa3458
2016-03-24 11:12:16 -07:00