Commit graph

26823 commits

Author SHA1 Message Date
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
Tao Bao
8179d68458 rangelib.py: Add parse_raw() method.
parse_raw() parses a string generated by RangeSet.to_string_raw().

>>> RangeSet.parse_raw(RangeSet("0-9").to_string_raw())
<RangeSet("0-9")>

Change-Id: Ia74daa30476d5e9ad73c368f4ecc64c755b734a5
2016-03-24 11:08:51 -07:00
Johan Redestig
8f800df5f0 Add libbase to otatools
build_verity_tree uses libbase since b104044.

Change-Id: I6d3406a107ceb6cd58d1a51aa79935209d4c435f
2016-03-24 14:17:51 +01:00
Dan Albert
cdc8f21180 Merge "Add support for multiple flavors of the NDK gtest." 2016-03-24 01:26:09 +00:00
Dan Albert
2d3d14b69b Merge "Using stlport_static or c++_static requires libdl." 2016-03-24 01:26:09 +00:00
Alex Klyubin
7f4eadef7e Merge "Fix bug in APK entry alignment." 2016-03-24 00:59:01 +00:00
Dan Willemsen
cfb5545664 Merge "Remove ALL_PREBUILT, all users have been removed" 2016-03-23 23:12:46 +00:00
Ying Wang
165c70713a Merge "Phony target $(LOCAL_MODULE) covers all multilib variants." 2016-03-23 23:04:54 +00:00
Dan Willemsen
3006962257 Remove ALL_PREBUILT, all users have been removed
Change-Id: I37154506ef419e7a68ce7e2d864624d2ae53206f
2016-03-23 14:15:16 -07:00
Dan Albert
b05cf54432 Add support for multiple flavors of the NDK gtest.
Since gtest depends on the STL, we need one version for each STL.

Bug: http://b/27801981
Change-Id: Id1a5571b043e2513d0184a9ab45a473dd545da84
2016-03-23 13:25:06 -07:00
Alex Klyubin
37a0ecd329 Fix bug in APK entry alignment.
APK entry alignment logic assumes that input entries have zero-length
comment and extra fields. When the assumption is broken, the logic
silently breaks alignment of output entries. This happens, for
example, when the APK to be signed is already aligned and thus may
contain entries with non-empty extra fields.

Given that APKs are not supposed to use comment and extra fields for
anything useful and given that this signer already discards comment
and extra fields of compressed entries, this change makes the signer
discard comment and extra fields of STORED input entries as well.
This unbreaks the existing alignment logic.

Bug: 27814973
Change-Id: I8242b037e21ba7bcf45d0fe2afc8bfc47f1ec314
2016-03-23 13:09:42 -07:00