Commit Graph

370 Commits

Author SHA1 Message Date
Dan Willemsen
57b814df5f Merge \\\\"Allow prebuilts to specify mini-debug-info\\\\" am: 4ea20be28b am: d5c3e04c85 am: 6fb6459157
am: 2dcdb6d05c

Change-Id: I3dede8e141cb2e4d6b09729d42fa52dc2986f357
2016-07-14 04:18:19 +00:00
Dan Willemsen
2dcdb6d05c Merge \\\"Allow prebuilts to specify mini-debug-info\\\" am: 4ea20be28b am: d5c3e04c85
am: 6fb6459157

Change-Id: I2f5470cbc730d786f79dabd509e392222af4b3cf
2016-07-14 04:15:09 +00:00
Dan Willemsen
d5c3e04c85 Merge \"Allow prebuilts to specify mini-debug-info\"
am: 4ea20be28b

Change-Id: I410014ad90800d78753f0c5c8cbb948aef369614
2016-07-14 04:09:47 +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
Dan Willemsen
937a1fb25c Merge \\\\"Extend SDK link check to java libraries\\\\" am: e706372ba1 am: 720a966ce5 am: 245b024986
am: 57471aa06f

Change-Id: Id56450c2b06b8974f75e77e2f098138f201e4d9a
2016-07-11 21:21:17 +00:00
Dan Willemsen
57471aa06f Merge \\\"Extend SDK link check to java libraries\\\" am: e706372ba1 am: 720a966ce5
am: 245b024986

Change-Id: I34889f0e04c8512553fde7f3fc2a03f5f1d2231a
2016-07-11 20:34:51 +00:00
Dan Willemsen
720a966ce5 Merge \"Extend SDK link check to java libraries\"
am: e706372ba1

Change-Id: Ia4cb9cfe94da5bdccce8726ed8777de13638bada
2016-07-11 20:27:08 +00: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
Colin Cross
301ff0def0 Merge \\\\"Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts\\\\" am: aa3525dcf1 am: a00b2765cf am: b82ef6edf4
am: 3a47107c90

Change-Id: I4a1237f6dca0fee93c5564e60f55578aedda3fd3
2016-07-07 19:32:29 +00:00
Colin Cross
3a47107c90 Merge \\\"Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts\\\" am: aa3525dcf1 am: a00b2765cf
am: b82ef6edf4

Change-Id: I6b700b83c7ca1f7f4c116c1db729cc9b5cd0566c
2016-07-07 19:28:59 +00:00
Colin Cross
a00b2765cf Merge \"Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts\"
am: aa3525dcf1

Change-Id: I968afb2a8abfe9763a6fc1ee7eff5abf41d3a094
2016-07-07 19:21:19 +00:00
Colin Cross
5d934c7924 Support LOCAL_STRIP_MODULE := keep_symbols for prebuilts
Change-Id: I92a838b07fe4116d5a4b8521fe1ce8d44e6e84e2
2016-07-07 11:16:49 -07:00
Dan Willemsen
907078116a resolve merge conflicts of bfbcc0e to nyc-mr1-dev-plus-aosp
am: 8434156634

Change-Id: I132859dfe61cb0451ce1e713dff585dbc7b1ffa0
2016-06-29 21:31:32 +00:00
Dan Willemsen
8434156634 resolve merge conflicts of bfbcc0e to nyc-mr1-dev-plus-aosp
Change-Id: Iff6b808f5220050a876bc21fc0d221523d549976
2016-06-29 14:14:14 -07:00
Dan Willemsen
048f56dfce Extract prebuilt APKs from zip files
Since APKs are zip files, embedded APKs in other APKs can be extracted,
installed, then optimized.

DPI-based filenames can be used if LOCAL_DPI_VARIANTS is set.

Bug: 29179775
Change-Id: Iab6388111522114ce9dc07057d59e3a89394cd6f
2016-06-22 14:25:53 -07:00
Dan Willemsen
0d8dac828d Merge changes Ib6ffcc38,Ia58e6bc1 am: 3068a85962 am: 5da565a85a am: c4c3cc2ee9
am: c62e01831b

Change-Id: Id0c2646d53e8210043a175d1d9e401824c02d846
2016-06-16 15:58:38 +00:00
Dan Willemsen
5da565a85a Merge changes Ib6ffcc38,Ia58e6bc1
am: 3068a85962

Change-Id: I20aec66ac749a5db3f65e368e14a5caca12afff8
2016-06-16 15:50:46 +00:00
Dan Willemsen
b097fbed0a Check that NDK-built modules only link to NDK-built modules
Modules built against the NDK should only link against modules also
built against the NDK (or link to the NDK prebuilts). This patch
attempts to catch these cases, and prints a large warning when this is
violated. Once the tree is cleaned up, this will change to an error.

Change-Id: Ib6ffcc38d9161abdbe45a58af26ba429fb6f1876
2016-06-15 20:22:19 -07:00
Dan Willemsen
bf23c7aa27 Merge "Add NATIVE_TESTS class, move host native tests" am: e72fc63901 am: 10461b78f0 am: 32b36a8819
am: cb7af16c6e

* commit 'cb7af16c6e497e5f5d553352c86f62f024472a1c':
  Add NATIVE_TESTS class, move host native tests

Change-Id: I9d885e23b55e20e48ada35334de362bcd6408936
2016-06-07 00:15:37 +00:00
Dan Willemsen
32b36a8819 Merge "Add NATIVE_TESTS class, move host native tests" am: e72fc63901
am: 10461b78f0

* commit '10461b78f0955d9dba8d32045d1e35ff0f9a5c8c':
  Add NATIVE_TESTS class, move host native tests

Change-Id: Ia11b54676d3b33e58c177a5a375f29233657524e
2016-06-07 00:09:39 +00:00
Dan Willemsen
7fe992c0cc Add NATIVE_TESTS class, move host native tests
Host native tests have been getting installed into
out/host/linux-x86/bin/..., but this pollutes the bin directory with a
lot of poorly named tests. Also, to support 32-bit and 64-bit tests, we
need to have different names with different suffixes. This causes
problems when tests expect to be named something specific (like gtest).
It's also convenient to store test data next to the test itself.

So with this change, native tests will be installed in
out/host/linux-x86/nativetest[64]/$(LOCAL_MODULE)/$(LOCAL_MODULE_STEM)
just like target tests get installed into /data/nativetest[64].

Implement this using a new NATIVE_TESTS class, which is like
EXECUTABLES, but sets up the install path differently, and configures
the rpath to load shared libraries with the proper relative path.
LOCAL_MODULE_RELATIVE_PATH can be used to control the directory name, it
will default to $(LOCAL_MODULE). This way multiple related tests can be
grouped together.

Target native tests also use NATIVE_TESTS now, but nothing should change
other than LOCAL_MODULE_RELATIVE_PATH can be used.

Change-Id: I535e42b1a6b21c5b8d6a580aa2f944d2be35e27d
2016-05-24 12:43:16 -07:00
Shinichiro Hamaji
6adf8a01c9 Merge "Make apks depend on their certificates" am: f0a465c2cb am: f562875d0c am: e855fd6a59
am: 486ee6bb7d

* commit '486ee6bb7d6e8abea45643511b4877bfcc10d18f':
  Make apks depend on their certificates

Change-Id: I42f59c305834044e15a634022ff2789582a69e6e
2016-05-17 04:13:09 +00:00
Shinichiro Hamaji
e855fd6a59 Merge "Make apks depend on their certificates" am: f0a465c2cb
am: f562875d0c

* commit 'f562875d0c232b91be9a0931d30c31b1bbb98c45':
  Make apks depend on their certificates

Change-Id: I28f5f91a6265201136cdf83c18c7ada359bb4d33
2016-05-17 04:08:25 +00:00
Shinichiro Hamaji
641e61cb53 Make apks depend on their certificates
Bug: 27954979
Change-Id: I02db576cb80cbb9dd684d931da02e1b3b3efdf37
2016-05-13 16:03:24 +09:00
Dan Willemsen
23f326a67d Ensure prebuilt executables are executable
Use 'chmod +x' to make sure that they're executable, even if the source
file is not.

Bug: 28097475
Change-Id: Id155f6b4ff188f5c909fd6237fd64183af264f79
(cherry picked from commit 08420cbc8a)
2016-04-11 11:21:47 -07:00
Shinichiro Hamaji
12b39e9043 Merge "Add jack\'s argument files to prerequisites" am: 06dbe19 am: ac61fed
am: f842555

* commit 'f84255570d87ba65f4e78c9b6ab82f0f72cf5866':
  Add jack's argument files to prerequisites

Change-Id: I8bc78318c9e9afc4c8c0052cac8d532ffd287663
2016-04-08 08:17:15 +00:00
Shinichiro Hamaji
f84255570d Merge "Add jack\'s argument files to prerequisites" am: 06dbe19
am: ac61fed

* commit 'ac61fedf9e9a68206d2f2507557cce14ee8524e6':
  Add jack's argument files to prerequisites

Change-Id: Id6959d79000252ab91823d2252297500a4dd6dd4
2016-04-08 08:13:04 +00:00
Shinichiro Hamaji
4eaeef8df7 Add jack's argument files to prerequisites
Dex files should be updated when jack-default.args or
proguard*.flags are modified.

Bug: 27954979
Change-Id: I72a7084302f4ef92a89a8068f03f790dd7acd582
2016-04-07 18:56:42 +09:00
Ying Wang
5c2281d56a Merge commit \'1f07720f8518236e8438ae0f25ea7211da8c8c45\' into manual_merge_1f07720
am: 81ef471

* commit '81ef4714f48fe024b36fca977f23340bf4c115aa':
  Remove support of disabling Jack.

Change-Id: I08ba8bf697038d26d0cb2eff16a3337cbc4e2e2a
2016-03-31 17:20:52 +00:00
Ying Wang
81ef4714f4 Merge commit '1f07720f8518236e8438ae0f25ea7211da8c8c45' into manual_merge_1f07720
Change-Id: I5ad50aacbe99b4ebf8ae7e630f169100128b5b3c
2016-03-31 10:10:42 -07: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
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
Yohann Roussel
4cb1444f42 resolve merge conflicts of 63de777 to nyc-dev-plus-aosp
am: 2691285

* commit '26912851ab3947ef0b25553d28bb2905a9b193cb':
  Inform Jack of the min sdk
2016-03-16 16:45:12 +00:00
Yohann Roussel
26912851ab resolve merge conflicts of 63de777 to nyc-dev-plus-aosp
Change-Id: I5dadd6f7bbf494665f9deb0cfafcce65530825d0
2016-03-16 17:33:38 +01:00
Yohann Roussel
63de777488 Merge "Inform Jack of the min sdk" into nyc-dev 2016-03-16 15:41:58 +00:00
Yohann Roussel
740ec8fe8a Inform Jack of the min sdk
Set Jack min sdk according to LOCAL_SDK_VERSION. Gives Jack current
version when LOCAL_SDK_VERSION is not available.

Bug: 27371864

(cherry picked from commit c6383d6ec6)

Change-Id: Ieba0219494f29d2737d2ca234317c3af7e5e72c8
2016-03-16 15:41:00 +01:00
Yohann Roussel
c6383d6ec6 Inform Jack of the min sdk
Set Jack min sdk according to LOCAL_SDK_VERSION. Gives Jack current
version when LOCAL_SDK_VERSION is not available.

Bug: 27371864

Change-Id: I5db233fe09aed0fae37fe9a92658bc8f24b86cdf
2016-03-16 11:55:46 +01:00
Ying Wang
da36635df6 Fix error introduced in merge commit c9a19779a2.
Change-Id: Idae48cdba90af40b8369f6f3a49c012b3bb2970a
2016-03-15 17:05:52 -07:00
Ying Wang
8d7e09cee1 Fix error introduced in merge commit c9a19779a2.
Change-Id: I0f49519f4c9dd16052e85a7b820e1ed8f4300380
2016-03-15 16:58:51 -07:00
Ying Wang
09c306c705 Revert "Revert "resolve merge conflicts of fc16dca602 to nyc-dev-plus-aosp""
This reverts commit b7d33c0739.
2016-03-15 16:36:29 -07:00
Ying Wang
b7d33c0739 Revert "resolve merge conflicts of fc16dca602 to nyc-dev-plus-aosp"
This reverts commit c9a19779a2, reversing
changes made to 3912b35cfc.
2016-03-15 16:28:57 -07:00
Ying Wang
c9a19779a2 resolve merge conflicts of fc16dca602 to nyc-dev-plus-aosp
Now we can remove all uses of $(ACP) in prebuilt_internal.mk.

Change-Id: I07a449f3acca9b56c6a387ff8ca1535d19c872d1
2016-03-15 14:46:12 -07:00
Yohann Roussel
962282bde2 Revert "Inform Jack of the min sdk"
This reverts commit 94451580af.

Bug: 27371864
Change-Id: I60a8c89b2ab8a6cbde4dd3b0aed24b71700815ab
2016-03-15 15:02:11 +00:00
Ying Wang
3a61eeb6cb 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
2016-03-14 21:01:46 -07:00
Yohann Roussel
94451580af Inform Jack of the min sdk
Set Jack min sdk according to LOCAL_SDK_VERSION. Gives Jack current
version when LOCAL_SDK_VERSION is not available.

Bug: 27371864
Change-Id: Ieba0219494f29d2737d2ca234317c3af7e5e72c8
2016-03-11 11:55:57 +01:00
Ying Wang
6efe88ba95 Support arch specific variants of LOCAL_STRIP_MODULE/LOCAL_PACK_MODULE_RELOCATIONS
So that we can disable only one in multilib modules.

Bug: 27442756
Change-Id: I4ca379fac997f9165c47cb93d34bf1f483f5a241
(cherry-pick from commit b6eb8ddbde)
2016-03-02 10:59:23 -08:00
Dan Willemsen
dfd5488944 Merge "Ensure prebuilt executables are executable" am: c92dc59c86
am: e39455faa2

* commit 'e39455faa2d20de8bcfd370e7470405bf707687b':
  Ensure prebuilt executables are executable
2016-03-02 18:38:33 +00:00
Ying Wang
4db56bb9ed Merge "Support arch specific variants of LOCAL_STRIP_MODULE/LOCAL_PACK_MODULE_RELOCATIONS" into nyc-dev
am: 0302dc1301

* commit '0302dc130167b0fbc262d76bfb73f6aa35e13494':
  Support arch specific variants of LOCAL_STRIP_MODULE/LOCAL_PACK_MODULE_RELOCATIONS
2016-03-02 18:14:47 +00:00
Dan Willemsen
08420cbc8a Ensure prebuilt executables are executable
Use 'chmod +x' to make sure that they're executable, even if the source
file is not.

Change-Id: Id155f6b4ff188f5c909fd6237fd64183af264f79
2016-03-01 22:11:41 -08:00
Ying Wang
b6eb8ddbde Support arch specific variants of LOCAL_STRIP_MODULE/LOCAL_PACK_MODULE_RELOCATIONS
So that we can disable only one in multilib modules.

Bug: 27442756
Change-Id: I4ca379fac997f9165c47cb93d34bf1f483f5a241
2016-03-01 20:21:37 -08:00