Commit Graph

1149 Commits

Author SHA1 Message Date
Dan Willemsen dd9aee166b Merge "Record module type statistics" 2016-07-29 20:47:14 +00:00
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
Dan Willemsen 1684b32620 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.

Change-Id: Iaf0c7062f542dc6942b5349854f3d49267cac4a5
2016-07-28 16:47:58 -07:00
Dan Albert b0a9b4ef53 Merge \\\\"Link to shared libraries with the full paths.\\\\" am: b3389f4823 am: b3ef01d390 am: 50e79e1afd
am: e7c9da56c8

Change-Id: I83756a13f716b4c9f886c25e7fc20e1f92caba73
2016-07-27 21:45:58 +00:00
Dan Albert b3ef01d390 Merge \"Link to shared libraries with the full paths.\"
am: b3389f4823

Change-Id: Ie305ebfb68c3bba6b8120ce0be807906c029fe92
2016-07-27 21:30:32 +00:00
Dan Albert 121aa60c46 Link to shared libraries with the full paths.
This ensures that we're not accidentally linking the wrong version of
a library with the same name thanks to -L.

Test: Still builds.
Change-Id: I22e9e28412844ff4f8bda42ebbc300ea6574e474
2016-07-27 11:00:11 -07:00
Chris Phoenix 55f704084b Invoke HIDL for C++ files
Change-Id: I917a04e92484f968b05b269bbaa2d458a7729b4c
(cherry picked from commit bbccdd6d152a37a03ece027b5896ddbc42db8a8b)
2016-07-22 21:06:42 +00:00
Colin Cross f30f03f905 Merge \\\\"Split -isystem headers into separate variables\\\\" am: 921be36569 am: 768291a37c am: 0b6d82b798
am: 05baf25aa8

Change-Id: I06751dfd77739384f6637a03f62265e094effd12
2016-07-21 18:05:37 +00:00
Colin Cross 768291a37c Merge \"Split -isystem headers into separate variables\"
am: 921be36569

Change-Id: Icd539e53caa9ad55e900b394c6005bb3606dce70
2016-07-21 17:58:10 +00: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
Colin Cross c3218bf6fe Merge \\\\"Factor out common include directories into helper\\\\" am: 95fa32b577 am: 17904fabbf am: dcec798d33
am: 94781db63a

Change-Id: Id7ef557c7c1bbda22a2dc7ab8e69a2e78e46bc6f
2016-07-20 21:33:44 +00:00
Colin Cross 17904fabbf Merge \"Factor out common include directories into helper\"
am: 95fa32b577

Change-Id: I720d7c02de3d11b4a5a3328946433aa7274f1bb6
2016-07-20 21:24:29 +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
Colin Cross fa886cdb2a resolve merge conflicts of 1e92cfb to stage-aosp-master am: 4cca8a5573 am: 2017d68910
am: ab632c60b8

Change-Id: I123f98c5d24ec63ca784d4e29b507f9501fbc2c0
2016-07-15 22:52:00 +00:00
Colin Cross 4cca8a5573 resolve merge conflicts of 1e92cfb to stage-aosp-master
Change-Id: I1929d5c16ea0b8574372049ac7dffd30fd3e1db3
2016-07-15 14:49:45 -07: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
Colin Cross e3dcadab82 Merge \\\\"Remove Android.bp logic from makefiles\\\\" am: 8bc18d35ec am: 7dc26e8aa8 am: 95ebfddd5f
am: 64755b9ec5

Change-Id: I53fbff08f5e9341a998a8c0b3fe57873dc7d0a46
2016-07-12 16:44:36 +00:00
Colin Cross 7dc26e8aa8 Merge \"Remove Android.bp logic from makefiles\"
am: 8bc18d35ec

Change-Id: I50c8180c8297feb48ff5c5eba10670b36f631921
2016-07-12 16:20:29 +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
Adam Lesinski d638c5d278 Support arg file list for -R in AAPT2
Bug:29462255
Change-Id: Ie5b9745c350d46f55bfcb42ff1e844685b9ded99
2016-06-27 18:39:40 +00:00
David Sehr 5efb73504d Merge \"Filter logging from dexdump/dex2oat to errors only\"
am: be6b4fc1b3

Change-Id: Ib938b1bbf29e482d02c2c3b7d5a5948ba2afee9a
2016-06-24 18:12:08 +00:00
David Sehr 49fbdd1f28 Filter logging from dexdump/dex2oat to errors only
Change-Id: Idb3f1c3d216e2db87ce3b03cbacc6fc3ceff37e0
2016-06-24 09:27:00 -07:00
Christopher Wiley 752860dcfc Merge \"Fix path escaping for aidl generated java\"
am: 7e918b6a46

Change-Id: I8e50a344d17c4585a725db95386ef6e0eb50fa58
2016-06-24 16:19:25 +00:00
Christopher Wiley d9205ba17e Fix path escaping for aidl generated java
Bug: 29619260
Change-Id: I806044573661c61e691adf36a47092188db87ab6
Test: Generated java with ../ in paths appears in the right place.
2016-06-23 16:49:32 -07:00
Dan Willemsen 5da565a85a Merge changes Ib6ffcc38,Ia58e6bc1
am: 3068a85962

Change-Id: I20aec66ac749a5db3f65e368e14a5caca12afff8
2016-06-16 15:50:46 +00:00
Dan Willemsen dd5a5d328b Add macros for printing pretty warnings/errors in rules
Change-Id: Ia58e6bc1328c84e5f4ba1f6a2fd2d650e94e127e
2016-06-15 20:22:19 -07:00
Dan Willemsen ffb643e487 Merge \"Use more prebuilt build-tools\"
am: 6c0c720389

Change-Id: Icb67388bf084f2de872e9df8747b70cbde42b5f9
2016-06-14 22:28:02 +00:00
Dan Willemsen 7c2d228701 Use more prebuilt build-tools
For acp, we've been using an old prebuilt in prebuilts/sdk, but it's not
part of the SDK. Instead, we'll use a prebuilt in the build-tools
repository.

For ijar, we've been using the host libstdc++ to workaround the lack of
libc++ on some unbundled branches. Instead, use a prebuilt that can use
libc++.

For ziptime, we've been disabling it on unbundled branches, due to the
lack of libc++. Instead, use a prebuilt version of ziptime that can use
the prebuilt libc++.

Change-Id: If80f845ea06f76e3fe6765964e77c864eaf303d0
2016-06-14 13:50:38 -07: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 e72fc63901 Merge "Add NATIVE_TESTS class, move host native tests" 2016-06-06 23:59:23 +00:00
Colin Cross 01437aa5d3 Merge "Update Android.mk finder to work with Android.bp files" am: 520442f053
am: 18023b557b

* commit '18023b557b6d33836de380df397fce10598931a9':
  Update Android.mk finder to work with Android.bp files

Change-Id: I87915d75c3bda9c41c926a7c8ad7c650ac085199
2016-06-01 05:05:33 +00:00
Colin Cross 4cbf8eb9f5 Update Android.mk finder to work with Android.bp files
The Android.mk finder should stop traversing when it finds an Android.bp
file, and any Android.soong.mk file at the same path should be included.

Update filter-soong-makefiles to accept a mixed list of Android.bp files
and Android.mk files, convert Android.bp files to Android.soong.mk files
if they exist, and ignore Android.mk files that have an Android.bp file.

Update first-makefiles-under to use the new --dir syntax for
findleaves.py and search for both Android.bp and Android.mk files.

Update all-makefiles-under and all-named-subdir-makefiles to search for
both Android.bp and Android.mk files.

Change-Id: Iddc51bf84593d5de3add02f2b2c065da08962af4
2016-05-30 13:42:19 -07:00
Lance Chang eaa4ef4cfc Merge "Add build number to apps\' version name for non-platform build" into nyc-dev
am: 1059f37377

* commit '1059f37377fd37cc311db522b4b5689086480d17':
  Add build number to apps' version name for non-platform build

Change-Id: Iad8a4f271db54561d605a3f98f59a62e97eb1614
2016-05-28 18:43:57 +00:00
Lance Chang aef86f7f4c Add build number to apps' version name for non-platform build
If TARGET_BUILD_WITH_APPS_VERSION_NAME is defined, the build system
will add build number to the apps' default version name.

Bug: 28982976
Change-Id: I536f273b557fe7c935cc4ef1052c3297f8029863
2016-05-26 12:32:30 -07:00
Colin Cross 44cf069b30 Merge "Remove USE_SOONG=false option" am: 5413fb4b3e
am: a36de73331

* commit 'a36de73331b92e5e75ba92e7a4707e5850e3486d':
  Remove USE_SOONG=false option

Change-Id: Iba393dadd32a55e910cf0ab980a1e82887f60bb9
2016-05-26 01:04:52 +00:00
Colin Cross a61d672529 Remove USE_SOONG=false option
Soong is always required to build now.

Change-Id: I4e310e98e912b370ebf980bf609f04212a7e9a50
2016-05-25 12:55:43 -07: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
Alex Klyubin 59fcd79e29 Merge "Uncompress native libs only if they are compressed." into nyc-dev
am: 451b72438e

* commit '451b72438e974a10f3f9062ced5d455d3234e4dd':
  Uncompress native libs only if they are compressed.

Change-Id: I4c680cfb228774ce93e75c644e7eee5c40988399
2016-05-18 16:25:46 +00:00
Alex Klyubin 587484abe5 Uncompress native libs only if they are compressed.
This changes the build system to uncompress native libraries in
preinstalled APKs only if the libraries are actually compressed.
Previously, any preinstalled APK containing native libraries was
modified by having all native libraries removed from the APK and then
re-added to the APK in uncompressed form.

Bug: 27887819
Change-Id: I3db172133e141bb6282bf3ed7070b068a826724e
2016-05-17 13:33:34 -07:00
Dan Willemsen 958dc6098e Merge "Remove TARGET_LIBGCC/LIBATOMIC/LIBGCOV" am: a794f4db22
am: 19fdc4428f

* commit '19fdc4428f9036b059a1174a3236eef03180e826':
  Remove TARGET_LIBGCC/LIBATOMIC/LIBGCOV

Change-Id: I143bf88ad5031764644dfb2c8b279513c809b50b
2016-05-17 03:05:32 +00:00
Dan Willemsen db16dd2384 Remove TARGET_LIBGCC/LIBATOMIC/LIBGCOV
Instead, use the libgcc/libatomic/libgcov from the static libraries dir,
which is provided by Soong. Copy the libraries using the Soong script if
Soong is disabled - this can be removed once USE_SOONG is removed.

Change-Id: Iad2ad20ad5c3cfc48bf1e46e594a482609098d7a
2016-05-16 17:26:54 -07:00
Dan Willemsen 18a2229bab Merge "Soong: Read Android.soong.mk if skipping Android.mk" am: ea71c96894
am: b8759f4f4b

* commit 'b8759f4f4b060fe9c4dc60fa6d786949b81f4ca0':
  Soong: Read Android.soong.mk if skipping Android.mk

Change-Id: Ibc2622b8292cb33270fe89ee8fcae4cdeb6b60c9
2016-05-13 23:58:48 +00:00
Dan Willemsen 5b188fb539 Soong: Read Android.soong.mk if skipping Android.mk
If Soong is enabled, and we're skipping an Android.mk because there is
an Android.bp file, check for an Android.soong.mk file and read that
instead. This will allow us to temporarily define modules or recurse
into subdirectories that soong does not yet support.

Change-Id: Ifdb2f0204a38a5069e53527f66ffcfb8008c11a4
2016-05-13 16:10:41 -07:00
Shinichiro Hamaji 4ed2ff913b resolve merge conflicts of 505f1ea to nyc-dev-plus-aosp
Change-Id: I023ace4df452371eea1b0b004d8817e6fe90585e
2016-05-13 14:33:34 +09:00
Shinichiro Hamaji d8f9f7d873 Follow symlinks when using find for assets
This should have been done in
https://android-review.googlesource.com/#/c/43901/

Bug: 27954979
Change-Id: I663b5e87e0d844d37a59e404219ff5e7e364df74
2016-05-12 18:17:02 +09:00
Alex Klyubin 8a86f9ea4d Fix handling of version codes in minSdkVersion when signing.
am: f59ad14c1f

* commit 'f59ad14c1f7cb07a4669741f8b0bb1e938398eca':
  Fix handling of version codes in minSdkVersion when signing.

Change-Id: Ie53be2528b32bc2eaa70645000ad66473422e06f
2016-05-11 21:56:43 +00:00
Alex Klyubin f59ad14c1f Fix handling of version codes in minSdkVersion when signing.
The APK signing tool, build/tools/signapk, needs to know the API Level
of the oldest platform supported by the APK. The APK's minSdkVersion
may reference that using a number (API Level) or a version code. To
handle the version code case, the existing logic was to see if it
matches $PLATFORM_VERSION_CODENAME and then substitute it with
$PLATFORM_SDK_VERSION.

However, some platforms support multiple version codes. To handle this
scenario, this commit changes the logic for computing the min API
Level for signing purposes to treat any non-numeric minSdkVersion as
$PLATFORM_SDK_VERSION.

Bug: 28715556
Change-Id: I292c96e8928b7e2f8d9716ef2be33a23a87764c4
2016-05-11 12:11:11 -07:00
Ying Wang dbe53e4bde resolve merge conflicts of e6b72b3 to nyc-dev-plus-aosp
Change-Id: Ic60ea2050c6e724e9bcbb5277087f1377315e9b3
2016-05-06 13:37:05 -07:00
Ying Wang 05f9f35836 Harden dependency on generated sources.
Previously if a library has custom generated headers in
LOCAL_GENERATED_SOURCES and export its include path with
LOCAL_EXPORT_C_INCLUDE_DIRS, there is almost no way for the users of the
library to set up dependency of their object files on the generated
headers.
This change makes the generated sources dependency of the library's
export_includes, which is guaranteed generated before client code gets
compiled.

Also we added proto-generated cpp files to my_generated_sources so that
we can deal solely with $(my_generated_sources). Because many
Android.mks assume the generted .pb.hs are in $(generated_sources_dir)
instead of $(intermediates), we have to generate the source files in
$(generated_sources_dir) and make a copy in $(intermediates).

Bug: 28622149
Change-Id: I73b21443fa706f3735faf16356ed8c08fbfecca6
2016-05-06 10:20:17 -07:00
Adam Lesinski 54d4d765ba Merge "Call aapt2 link with argument-list" into nyc-dev
am: dfd6197f51

* commit 'dfd6197f5173b957b6e41a83df66d04068fa6517':
  Call aapt2 link with argument-list

Change-Id: I34e64e07736d428ca87044ac07a952be50531464
2016-04-29 22:13:20 +00:00
Adam Lesinski dfd6197f51 Merge "Call aapt2 link with argument-list" into nyc-dev 2016-04-29 22:09:01 +00:00
Todd Kennedy a9ce97d223 Merge "Only align when necessary" into nyc-dev
am: 1ccfe52630

* commit '1ccfe5263008991aeff10964da3bdc6c2c1c1d06':
  Only align when necessary

Change-Id: I2452df91a9c97a0b7d2d182165384d63ce040a09
2016-04-29 21:02:31 +00:00
Todd Kennedy 3f18099610 Only align when necessary
Bug: 27887819
Change-Id: Ie8b5ca31cc1c08943588fc6039d75190ff7eeb8b
2016-04-29 13:58:13 -07:00
Adam Lesinski 8d1e2fdcba Call aapt2 link with argument-list
Also follow symbolic links when looking for assets.

Bug:22775504
Change-Id: I971e23505f766a2192469df1aad55bc20c46f618
2016-04-28 15:10:18 -07:00
Adam Lesinski 9c5f7a462c Merge "Revert "Call aapt2 link with argument-list"" into nyc-dev
am: 6c078e0522

* commit '6c078e0522daafbdb5b2635baa510c2863bde2bb':
  Revert "Call aapt2 link with argument-list"

Change-Id: I36d1080067620f991766a751830cac885fd1dc48
2016-04-28 20:15:41 +00:00
Adam Lesinski 6c078e0522 Merge "Revert "Call aapt2 link with argument-list"" into nyc-dev 2016-04-28 20:10:17 +00:00
Adam Lesinski 4c44d94999 Revert "Call aapt2 link with argument-list"
This reverts commit d4d6a50fbb.

Change-Id: If84ad9921eb51ae16eae2be3cf4b2ee86b31ce80
2016-04-28 20:06:53 +00:00
Adam Lesinski 2e58fba928 Merge "Call aapt2 link with argument-list" into nyc-dev
am: 0e57d3afc1

* commit '0e57d3afc181720bdd6bea3cd1a7352168458b62':
  Call aapt2 link with argument-list

Change-Id: Ifa9d900511acec9174e6e658d515b277e9669964
2016-04-28 19:43:46 +00:00
Adam Lesinski 0e57d3afc1 Merge "Call aapt2 link with argument-list" into nyc-dev 2016-04-28 19:34:32 +00:00
Adam Lesinski d4d6a50fbb Call aapt2 link with argument-list
Also follow symbolic links when looking for assets.

Bug:22775504

Change-Id: I78b4e2b7d7750dfecafd64e29cf0e19dff851155
2016-04-26 13:32:01 -07:00
Keun Soo Yim 46a259651f resolve merge conflicts of 72b82dc to nyc-dev-plus-aosp
Change-Id: I6e62226774584154ad1a802594e386fe7942504b
2016-04-25 15:27:21 -07:00
Keun Soo Yim 3d4847525f build rule change for VTS (vendor test suite)'s metadata files
Change-Id: I76b81529a97b672e08632703d2f6a2777ee8811e
2016-04-25 13:06:57 -07:00
Yohann Roussel b6232d90da resolve merge conflicts of 995b62b to nyc-dev-plus-aosp
Change-Id: I4293e9f2777fb9b7e2023764703855ff3d778b40
2016-04-22 18:45:45 +02:00
Yohann Roussel 5ce149b76a Merge changes I6e98fc65,Ia8665e7c
* changes:
  Remove bootclasspath handling for Jack
  Remove static libraries from Jack classpath
2016-04-22 15:51:50 +00:00
Yohann Roussel ae2fc81706 Remove bootclasspath handling for Jack
Bootclasspath libraries are already added in LOCAL_JAVA_LIBRARIES by
java.mk and host_dalvik_java_library.mk meaning that bootclasspath
handling was just doing a duplicate work and adding duplicated entries
to the classpath.

Also fix order of bootclasspath libraries for host.

Bug: 28307907
Change-Id: I6e98fc651a127435c029de65285dbf2cb04844af
2016-04-22 09:29:32 +02:00
Chih-hung Hsieh 7a8e69eea2 Merge "Call clang-tidy based on WITH_TIDY* variables." am: 3f03b10654
am: c72f50d49f

* commit 'c72f50d49fb95794039f270d4083b9cfed4cd482':
  Call clang-tidy based on WITH_TIDY* variables.

Change-Id: I4eb0afd79b56ad2ddea42b33791df27da6ab8820
2016-04-21 21:11:00 +00:00
Chih-Hung Hsieh a9a55c7c7e Call clang-tidy based on WITH_TIDY* variables.
* Call clang-tidy before every C/C++ compilation if
  (1) clang-tidy is found at $(PATH_TO_CLANG_TIDY)
  (2) $(my_clang) is true
  (3) LOCAL_TIDY is 1 or true, or
      LOCAL_TIDY is undefined and WITH_TIDY is 1 or true.
* clang-tidy is called with -checks=$(my_tidy_checks),
  which has default '-*,google*,-google-readability*'
  and can be overwritten by WITH_TIDY_CHECKS.
* LOCAL_TIDY_CHECKS is appended to $(my_tidy_checks)
* Extra flags are passed to clang-tidy through
  WITH_TIDY_FLAGS or LOCAL_TIDY_FLAGS.
* To quickly find and fix clang-tidy warnings, set $(WITH_TIDY_ONLY)
  to 1 or true to skip compilation of C/C++ files.
* Add a PHONY tidy_only target,
  which includes all $(cpp_objects) and $(c_objects).
* The 'mm' and 'mmm' functions are changed to call make with
  the 'tidy_only' target when WITH_TIDY_ONLY is true or 1.
  In that case, only clang-tidy is called for C and C++ files.

Bug: http://b/27779618
Change-Id: I8adcfff217d68af49849b79aacee7d7654cafb1b
2016-04-21 12:31:13 -07:00
Yohann Roussel 2dc79b11cd Remove static libraries from Jack classpath
Those libraries are already imported (or added to the classpath in the
case of the check command) meaning that they were all duplicated.
In addition to complicating the build this was also slowing down the
compilation.

Bug: 28307907
Change-Id: Ia8665e7c5ad8b567bd02de7839fa62e67a5668f7
2016-04-21 17:40:55 +02:00
Yabin Cui b10a1190cb Merge "Add strip mode mini-debug-info." am: 9a02623
am: 3cb18ef

* commit '3cb18efc4a4ec9497a237e8151ebc3b15857c837':
  Add strip mode mini-debug-info.

Change-Id: Ic915892d0cc7142ec7ce2847cc4a69a3d24a54c3
2016-04-16 00:36:07 +00:00
Yabin Cui 9a02623eb6 Merge "Add strip mode mini-debug-info." 2016-04-16 00:23:50 +00:00
Yabin Cui fab7995cd8 Add strip mode mini-debug-info.
Mini-debug-info strip mode strips most debug information, but
maintains minimal debugging information similar to
https://sourceware.org/gdb/onlinedocs/gdb/MiniDebugInfo.html.

Bug: 27923447

Change-Id: I0405f0b3c33cb3cadeafbd22ce94d645c4dbe7b9
2016-04-15 16:12:00 -07:00
Ying Wang 81ef4714f4 Merge commit '1f07720f8518236e8438ae0f25ea7211da8c8c45' into manual_merge_1f07720
Change-Id: I5ad50aacbe99b4ebf8ae7e630f169100128b5b3c
2016-03-31 10:10:42 -07:00
Ying Wang b89c5fda00 Merge "Replace in recipe with subshell." am: 0fda1ea
am: d4d59fd

* commit 'd4d59fd87c004a6dbbe581a011f7f9d9027b74a1':
  Replace $(shell) in recipe with subshell.

Change-Id: I67d553aa1ab7f92e7719a3678074aad9d6a812e8
2016-03-31 16:55:55 +00:00
Ying Wang 77b6353689 Merge "Remove support of disabling Jack." 2016-03-31 16:52:49 +00:00
Ying Wang a6a9ab07ed Replace $(shell) in recipe with subshell.
Bug: 27925180
Change-Id: I4a735755e4f818f6ce608c87ad111b9dd205ef41
2016-03-30 18:34:43 -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
Shinichiro Hamaji fbd5d8de0f Merge "Fix dependencies around tools/*-event-log-tags.py" am: 4487319
am: a2be61e

* commit 'a2be61ed16bcb406030ff01a30e4dec90a8ff5de':
  Fix dependencies around tools/*-event-log-tags.py

Change-Id: I8fee3f7846e723d46eb26356798eedb9566f3a28
2016-03-29 20:51:05 +00:00
Shinichiro Hamaji 0f846c73e1 Replace last -includes by .KATI_DEPFILE
There was a typo in binary.mk. compile-dotdot-XXX-file in
definitions.mk was also using -include.

Bug: 26839129
Bug: 27886012
Change-Id: I4a0145fb70413998cc65d30d2efcd68af07b4800
(cherry picked from commit 72904774a3)
2016-03-29 12:10:48 -07:00
Shinichiro Hamaji 2fb7b61a2e Use KATI_DEPFILE for .P associated with object files
Also specify "-d keepdepfile" to ninja so .P files won't be
deleted by ninja.

-include for .s files are removed because GCC doesn't
generate .d files for .s files.

Bug: 26839129
Bug: 27886012
Change-Id: If00e93c7a33449ec314a5cdba438475a32979f4e
(cherry picked from commit 4037c4225a)
2016-03-29 12:10:03 -07: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
Colin Cross 6e6a167521 Merge "Ignore Android.mk files with USE_SOONG=true" into nyc-dev
am: c031c75

* commit 'c031c758c63c83679cf55abb50ba9e4474d22814':
  Ignore Android.mk files with USE_SOONG=true
2016-03-25 19:59:02 +00:00
Ying Wang dcb1da9093 Merge "Remove rmtypedefs from the build system."
am: 6557ba5

* commit '6557ba5335798627572669512489fdc8c59915a6':
  Remove rmtypedefs from the build system.
2016-03-25 18:08:55 +00: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
Colin Cross 946a08cf51 Ignore Android.mk files with USE_SOONG=true
When USE_SOONG=true, ignore any Android.mk file that has an Android.bp
file in the same directory.

Change-Id: Id79bd90c2aed5dafc2f8ad2c5b7eb0aa6e81dc18
(cherry picked from commit 861ab99536)
2016-03-24 14:36:48 -07: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
Dan Willemsen 1e061d789a Merge "Remove ALL_PREBUILT, all users have been removed"
am: cfb5545

* commit 'cfb554566447b31cd045a5b67b960018418fe874':
  Remove ALL_PREBUILT, all users have been removed
2016-03-23 23:19:27 +00:00
Dan Willemsen cfb5545664 Merge "Remove ALL_PREBUILT, all users have been removed" 2016-03-23 23:12:46 +00:00
Dan Willemsen 3006962257 Remove ALL_PREBUILT, all users have been removed
Change-Id: I37154506ef419e7a68ce7e2d864624d2ae53206f
2016-03-23 14:15:16 -07:00
Ying Wang 7dee3625e0 Merge "Create empty .a on Darwin when there is no obj file."
am: 37aa85e

* commit '37aa85e8bb0d86cae946d85a27b6ded593c425b7':
  Create empty .a on Darwin when there is no obj file.
2016-03-23 16:56:20 +00:00
Ying Wang 4aaa1a1fd8 Create empty .a on Darwin when there is no obj file.
On Darwin ar would fail if there is no object file to add.
We work around by adding a dummy.o to the .a and then deleting it.

Bug: 27800477
Change-Id: I68bbebea2726058c25863d7026a645a520d05167
2016-03-22 18:23:13 -07:00
Yohann Roussel 2ae244c578 Remove rules for building dex with dx
This is just to ensure no dex file is built with dx any more, cleaning
of the build rules from Jack optionality is still to be done.

Bug: 27218410

(cherry picked from commit 22313f2b2a)

Change-Id: I1e7f2f5dcc7f95a44f5ebf2e4ba99931ff3ba014
2016-03-18 16:03:00 +01:00
Yohann Roussel cb43e9d0da Merge "Remove rules for building dex with dx"
am: a978779

* commit 'a978779668cb6dd8791348dc701bf154f80164af':
  Remove rules for building dex with dx
2016-03-18 13:59:10 +00:00
Yohann Roussel a978779668 Merge "Remove rules for building dex with dx" 2016-03-18 13:50:55 +00:00
Przemyslaw Szczepaniak 23649c76ce Merge "Allow for 5400 words in dump-words-to-file" into nyc-dev
am: 1b21b85

* commit '1b21b85b119796d9007e874af99948a803805397':
  Allow for 5400 words in dump-words-to-file
2016-03-18 12:44:23 +00:00
Przemyslaw Szczepaniak 0aeee045bd Allow for 5400 words in dump-words-to-file
After adding java.util.stream,  doc-comment-check target
started to fail due to "Too many words" while
generating out/target/common/docs/doc-comment-check-timestamp.rsp
This change extends number of dumped words to 5400.

Bug: 27692239
Change-Id: Ifa75cada7b90c5737fc7a1d10325f3a49a2238ac
2016-03-18 12:09:44 +00:00
Chih-Hung Hsieh baf5f3c67f Merge "Link in ASAN library if my_global_santitize is set."
am: 9d5fb14

* commit '9d5fb14b2d551e522c51f78361b77653191c8c91':
  Link in ASAN library if my_global_santitize is set.
2016-03-17 16:36:15 +00:00
Chih-hung Hsieh 9d5fb14b2d Merge "Link in ASAN library if my_global_santitize is set." 2016-03-17 16:26:32 +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
Yohann Roussel 22313f2b2a Remove rules for building dex with dx
This is just to ensure no dex file is built with dx any more, cleaning
of the build rules from Jack optionality is still to be done.

Bug: 27218410
Change-Id: Iea2c66802b6c64c52690ad9d6d487bdce5f50b79
2016-03-16 10:33:02 +01:00
Chih-Hung Hsieh ad741e6d66 Link in ASAN library if my_global_santitize is set.
* When my_global_santitize is set and requires ASAN,
  link with ASAN library even when local module is not
  instrumented with ASAN, unless the local module is
  the ASAN library itself.
* Add -Wl,--as-needed to my_ldflags for shared libraries
  so that unneeded ASAN library would not become
  a dependent of the built .so file.
* Change shared file and executable file link argument order
  so that -Wl flags will have effect on linked-in libraries.
* Remove unused ADDRESS_SANITIZER_CONFIG_EXTRA_SHARED_LIBRARIES.

BUG: 27614834

Change-Id: I4eda6003f1f24e498cba91c043dbe1fabe522686
2016-03-15 16:53:46 -07:00
Shinichiro Hamaji 082d5e5081 Merge "Replace last -includes by .KATI_DEPFILE"
am: c26ec724b8

* commit 'c26ec724b8b4d356573901f96e1a8ce728bdd1b1':
  Replace last -includes by .KATI_DEPFILE
2016-03-15 23:06:31 +00: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
Shinichiro Hamaji 72904774a3 Replace last -includes by .KATI_DEPFILE
There was a typo in binary.mk. compile-dotdot-XXX-file in
definitions.mk was also using -include.

Bug: 26839129
Change-Id: I4a0145fb70413998cc65d30d2efcd68af07b4800
2016-03-16 06:40:04 +09:00
Yohann Roussel a023f41f13 Merge "Revert "Inform Jack of the min sdk"" 2016-03-15 15:04:54 +00: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
Yohann Roussel 10baeeebc4 Merge "Inform Jack of the min sdk" 2016-03-15 09:42: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
Shinichiro Hamaji fb87a2610d Merge "Use KATI_DEPFILE for .P associated with object files"
am: b95dc31033

* commit 'b95dc310330bd59fa860ab98822529bb0d2256c6':
  Use KATI_DEPFILE for .P associated with object files
2016-03-14 22:07:10 +00:00
Shinichiro Hamaji b95dc31033 Merge "Use KATI_DEPFILE for .P associated with object files" 2016-03-14 21:59:46 +00: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
Dan Willemsen 8b90565476 Merge "Do not apply GLOBAL_CFLAGS_NO_OVERRIDE to host *.S" am: 6d813d8c92
am: 851983bbf2

* commit '851983bbf2dc9cf2ea5877d6e95a9d962bd63fdd':
  Do not apply GLOBAL_CFLAGS_NO_OVERRIDE to host *.S
2016-03-04 21:02:05 +00:00
Dan Willemsen 6d813d8c92 Merge "Do not apply GLOBAL_CFLAGS_NO_OVERRIDE to host *.S" 2016-03-04 20:52:57 +00:00
Ying Wang ea04f821fc Align up java-lib-files and java-lib-deps.
- For host Java libraries, java-lib-files should return javalib.jar.
- Host dalvik Java libraries are special: factor out
  host-dex-java-lib-files.
- Be explict that jack-lib-deps equals jack-lib-files.

Bug: 27451686
Change-Id: I9235384354e119ef7ebbf29b7e525d1ceea242e0
(cherry-pick from commit 063d0455e0)
2016-03-04 10:39:24 -08:00
Ying Wang fef4f411d9 Align up java-lib-files and java-lib-deps.
am: 063d0455e0

* commit '063d0455e0f3a14f2577a26715f82e0bf3e79ee9':
  Align up java-lib-files and java-lib-deps.
2016-03-04 17:30:59 +00:00
Dan Willemsen df9acac680 Do not apply GLOBAL_CFLAGS_NO_OVERRIDE to host *.S
Target assembly files do not get these cflags, align the host
definitions to do the same.

Change-Id: Idadfa1f367c3ebea44460c5798225a85dd319371
2016-03-03 17:38:16 -08:00
Ying Wang 063d0455e0 Align up java-lib-files and java-lib-deps.
- For host Java libraries, java-lib-files should return javalib.jar.
- Host dalvik Java libraries are special: factor out
  host-dex-java-lib-files.
- Be explict that jack-lib-deps equals jack-lib-files.

Bug: 27451686
Change-Id: I9235384354e119ef7ebbf29b7e525d1ceea242e0
2016-03-03 13:48:43 -08:00
Shinichiro Hamaji 4037c4225a Use KATI_DEPFILE for .P associated with object files
Also specify "-d keepdepfile" to ninja so .P files won't be
deleted by ninja.

-include for .s files are removed because GCC doesn't
generate .d files for .s files.

Bug: 26839129
Change-Id: If00e93c7a33449ec314a5cdba438475a32979f4e
2016-03-03 18:19:37 +09:00
Yohann Roussel 1501a9a8b5 Merge "Use Jack to check build" into nyc-dev 2016-03-03 08:47:41 +00:00
Yohann Roussel 57a54b4199 Merge "Use Jack to check build" am: 6a9d0f9718
am: 4fd0463191

* commit '4fd0463191b316fd80b2ec8c0ba33bb5fcf5aa16':
  Use Jack to check build
2016-03-02 09:14:20 +00:00
Yohann Roussel 6a9d0f9718 Merge "Use Jack to check build" 2016-03-02 08:46:24 +00:00
Dan Willemsen 23afb78cf9 Merge commit 'cdaf748e3abefd93a4e45393e96717fad8564c51'
Change-Id: I3c44564b08ed46f46719dbca54d4225718bb8c59
2016-03-01 15:36:08 -08:00
Adam Lesinski bda7a2b046 Merge "AAPT2: Enable product/config filtering and improve source ordering" into nyc-dev
am: 7214d224b8

* commit '7214d224b85f7504fb0686e187fdf7f18b135000':
  AAPT2: Enable product/config filtering and improve source ordering
2016-03-01 22:04:06 +00:00
Stephen Hines ed68f54ba0 Merge changes I769ed278,I99cb69ea,I57bcbed0,I6e51e51f,Iab2d36e2 into nyc-dev
* changes:
  Remove debug statement
  Tell Soong about HOST_CROSS_*
  Update to use the latest clang-2629532.
  Use newest clang static analyzers.
  Add 64-bit windows cross-compiles
2016-03-01 21:36:15 +00:00
Dan Willemsen 7f016150a0 Remove unused dependencies on $(ACP)
Most of these are calling to copy-file-to-target or similar, which no
longer use $(ACP).

Change-Id: I62287a80c577c34df587b74e70055c2f56050ce7
2016-03-01 13:15:35 -08:00
Dan Willemsen f1a98af5fc Replace some uses of acp with cp
ACP was originally created to overcome differences with cp between
Linux, Darwin, and Windows. We've since dropped Windows as a build host,
and don't use features like '-u' anymore.

For most of our current usecases, 'acp' is identical to 'cp' except that
it splits 'cp -p' into 'acp -p' for mode and ownership, and 'acp -t' for
timestamps. On Linux, this could be specified using
'--preserve=mode,ownership', but Darwin doesn't have this.

Since we're removing the destination file before copying, 'cp' already
preserves the mode (modulated by the umask). So the only extra thing
that gets preserved with 'acp -p' is ownership, which we should not care
about in the build system. (In many cases we shouldn't be preserving
mode either, so that readonly source trees can actually be marked
readonly, but that will be a future change)

Change-Id: Ied96fdc303ac5c774347c07363daec8b6dfb22e4
2016-03-01 13:08:50 -08:00
Dan Willemsen 93536c29b1 Merge "Remove destination before copying file" am: 469665ded5
am: e401e09a3c

* commit 'e401e09a3cf067f7eb15b5e94274a763a039be9c':
  Remove destination before copying file
2016-03-01 19:46:49 +00:00
Yohann Roussel e792abc2d9 Use Jack to check build
Run jack with no outputs as a quick check for compilation errors and use
a timestamp to store that check was made.

Bug: 19069325

(cherry picked from commit 43084d9f49)

Change-Id: I9b84b503b28cfdfa245f91da0061ee3a79386b28
2016-03-01 16:57:20 +01:00
Yohann Roussel ee57268cd7 Use Jack to check build
Run jack with no outputs as a quick check for compilation errors and use
a timestamp to store that check was made.

Bug: 19069325

(cherry picked from commit 43084d9f49)

Change-Id: I9b84b503b28cfdfa245f91da0061ee3a79386b28
2016-03-01 16:34:08 +01:00
Dan Willemsen 3545eeb6c1 Remove destination before copying file
If there's a symlink as the destination to one of these macros,
currently we'll write to the destination of that symlink instead of
overwriting the symlink. We've run into this a few times when a module
is added to replace a symlink that used to exist via
LOCAL_POST_INSTALL_CMD. These have required manual discovery, and
additions to CleanSpec.mk files:
http://android-review.googlesource.com/143334

Use `rm -f` for single-file targets to remove the destination before
copying. On Linux, `cp --remove-destination` can work, but is not
supported by Darwin or acp.

There may still be problems with dependencies when symlinks are
involved, since ninja will use the destination of the symlink to check
whether it is up to date. But at least with this change, if any
dependency gets regenerated, we'll properly reset the file.

Change-Id: I6d3ac0bd9ced5e21a0ff9dad0eaff012a7bc9c75
2016-02-29 22:22:29 -08:00
Dan Willemsen 9ffa38b193 Merge "Remove USE_NINJA=false" am: 3bfc095f53
am: d73633c082

* commit 'd73633c0824a63f7104bddf9a798bccc952b545c':
  Remove USE_NINJA=false
2016-02-29 22:19:29 +00:00
Dan Willemsen 1c6dc5b942 Remove USE_NINJA=false
And everything special-cased on that. Add a warning if USE_NINJA is
set to let users know that it no longer changes anything.

Change-Id: Ib8739151fe26ea6bf8f76b7ac2b8f4097dab0b47
2016-02-26 21:48:31 -08:00
Dan Willemsen 7e57b8ca57 Add 64-bit windows cross-compiles
This is mostly the same as the existing 2ND_HOST / HOST_CROSS support.

The interesting thing I did here was make x86 the 'first' architecture,
and x86_64 the second. This way LOCAL_MULTILIB := first defaults to
32-bit windows modules.

  windows-x86/bin   <- defaults to 32-bit executables
  windows-x86/lib   <- 32-bit libraries, like before
  windows-x86/lib64 <- 64-bit libraries
  windows-x86/obj   <- 32-bit intermediates
  windows-x86/obj64 <- 64-bit intermediates

Then modules are registered with the names:

  host_cross_liblog    <- 32-bit, like before
  host_cross_liblog_64 <- 64-bit

Bug: 26957718

(cherry picked from commit 9ecbf83259)

Change-Id: Iab2d36e20d7002568c3534e7781e9ac8ab21a4a9
2016-02-26 18:51:26 -08:00
Adam Lesinski e758f9319d AAPT2: Enable product/config filtering and improve source ordering
- Restore old ordering of resource files to match AAPT behavior
- Change the order in which overlays are processed.

Change-Id: I9da88f6b4124e7f89a70eb485b4591d5c4c87d38
2016-02-26 16:11:20 -08:00
Ying Wang 64ef18e840 Merge "AAPT2: library resource compilation" into nyc-dev
am: 6dece90534

* commit '6dece90534af8b290ccc385fda2e4cf0f3a37454':
  AAPT2: library resource compilation
2016-02-26 23:02:04 +00:00
Ying Wang e295c3df68 AAPT2: library resource compilation
- Switch to static library's package-res.apk as the link artifact.
- For prebuilt AAR file, build package-res.apk using aapt2's "--dir"
  option.
- New LOCAL variables:
  LOCAL_USE_AAPT2: a module can opt-in with "LOCAL_USE_AAPT2 := true".
  LOCAL_STATIC_ANDROID_LIBRARIES: static Java libraries with compiled
                   resources.
  LOCAL_SHARED_ANDROID_LIBRARIES: shared Java libraries with compiled
                   resources.

Bug: 25958912
Change-Id: I4be2d1e8137555986338c2583cb39b0c97391751
2016-02-26 10:44:56 -08:00
Dan Willemsen c12ad5c5c0 Define a class for renderscript bitcode files
These have been using SHARED_LIBRARIES, but aren't elf shared libraries.
Continue installing them to /system/lib[64], but do not apply any other
normal shared library logic to them.

(cherry picked from commit c6e194ffad)

Change-Id: I0041650af92cd8063ca33215010d5eff514a89bc
2016-02-18 17:34:53 -08:00
Dan Willemsen 530e4fbae6 Merge "Define a class for renderscript bitcode files"
am: 69a4592aa5

* commit '69a4592aa50e9b6d675af83b6b2392796803395a':
  Define a class for renderscript bitcode files
2016-02-16 21:51:52 +00:00
Dan Willemsen c6e194ffad Define a class for renderscript bitcode files
These have been using SHARED_LIBRARIES, but aren't elf shared libraries.
Continue installing them to /system/lib[64], but do not apply any other
normal shared library logic to them.

Change-Id: I3055ff86bb7b116c7107c41578ed6f0f304b1cf1
2016-02-13 00:19:40 -08:00
Alex Klyubin 0c5c50997b Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." into nyc-dev 2016-02-11 18:50:12 +00:00
Sebastien Hertz 95d41f178e Merge "Remove usages of jill.jar, use jack instead"
am: 91d20b06f5

* commit '91d20b06f547b551c1cecd190c840469e845f68c':
  Remove usages of jill.jar, use jack instead
2016-02-11 08:52:11 +00:00
Sebastien Hertz 91d20b06f5 Merge "Remove usages of jill.jar, use jack instead" 2016-02-11 08:48:44 +00:00
Alex Klyubin b05b62df2e Sign APKs using SHA-256 instead of SHA-1 when possible.
This changes the build system to provide the signapk tool with the
minSdkVersion of the APK being signed. signapk in turn will then use
SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher
(see c2c49ed0c1).

To avoid increasing incremental OTA update package sizes for already
released platforms, release build scripts disable the above logic when
signing target files ZIPs for pre-N platforms.

Bug: 25643280

(cherry picked from commit 2cfd1d108c)

Change-Id: I38450d07ddc05c705de40313f843beada8db7d98
2016-02-10 17:19:08 -08:00
Alex Klyubin fec3a14892 Merge "Sign APKs using SHA-256 instead of SHA-1 when possible."
am: 07d3dbd2ed

* commit '07d3dbd2eda1aa5b3283191e681d48b341c635bf':
  Sign APKs using SHA-256 instead of SHA-1 when possible.
2016-02-10 21:46:53 +00:00
Alex Klyubin 2cfd1d108c Sign APKs using SHA-256 instead of SHA-1 when possible.
This changes the build system to provide the signapk tool with the
minSdkVersion of the APK being signed. signapk in turn will then use
SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher
(see c2c49ed0c1).

To avoid increasing incremental OTA update package sizes for already
released platforms, release build scripts disable the above logic when
signing target files ZIPs for pre-N platforms.

Bug: 25643280

Change-Id: I3f2faaf49c6fa392ffbf1ee9f30de476f9f73231
2016-02-10 09:40:31 -08:00
Yohann Roussel ccfa5c6761 Remove usages of jill.jar, use jack instead
Bug: 27113650
(cherry picked from commit d0bb7bdf5a)

Change-Id: Ie9be0d5c7e43ea857411431bb79db5cbb476484f
2016-02-10 18:07:15 +01:00
Yohann Roussel d87cc99af2 Remove usages of jill.jar, use jack instead
Bug: 27113650
(cherry picked from commit d0bb7bdf5a)

Change-Id: I218ed2bda032b00bee4c52994a0aadce6d699133
2016-02-10 18:05:38 +01:00
Dan Willemsen 6863fe23a9 Merge "Add 64-bit windows cross-compiles"
am: 8c4f25f12f

* commit '8c4f25f12fe0fe8265fb8849cf7cb2fc482ae7e5':
  Add 64-bit windows cross-compiles
2016-02-09 21:14:21 +00:00
Dan Willemsen 9ecbf83259 Add 64-bit windows cross-compiles
This is mostly the same as the existing 2ND_HOST / HOST_CROSS support.

The interesting thing I did here was make x86 the 'first' architecture,
and x86_64 the second. This way LOCAL_MULTILIB := first defaults to
32-bit windows modules.

  windows-x86/bin   <- defaults to 32-bit executables
  windows-x86/lib   <- 32-bit libraries, like before
  windows-x86/lib64 <- 64-bit libraries
  windows-x86/obj   <- 32-bit intermediates
  windows-x86/obj64 <- 64-bit intermediates

Then modules are registered with the names:

  host_cross_liblog    <- 32-bit, like before
  host_cross_liblog_64 <- 64-bit

Bug: 26957718
Change-Id: I9f119411acb43e973ec1e6bca3c1dc291c91556c
2016-02-05 16:33:18 -08:00
Sebastien Hertz 8192d3b821 Merge "Support code coverage with Jack" am: 4dad88980f
am: 7b02e64148

* commit '7b02e64148e6a1c0355d715b2a8034061f0d2837':
  Support code coverage with Jack
2016-02-02 09:13:57 +00:00
Sebastien Hertz 4dad88980f Merge "Support code coverage with Jack" 2016-02-02 07:31:37 +00:00
Shinichiro Hamaji 87bc53a281 Merge "Use dependency files generated by llvm-rs-cc for Java" am: e786d21854
am: 2f4b8a042c

* commit '2f4b8a042cacf2667d9704ef2e59373b6a2591cc':
  Use dependency files generated by llvm-rs-cc for Java
2016-02-01 23:10:33 +00:00
Shinichiro Hamaji 52a1d6c666 Use dependency files generated by llvm-rs-cc for Java
This is a reland of 4c474617d4
This time, we use awk instead of sed, and the script works
on Mac.

For C++ code llvm-rs-cc defines two targets but it defines
three targets for Java. The sed script was updated to handle
both cases appropriately.

Bug: 26839129
Change-Id: I1bca7d253764554d552950e03deedabaa9b7f17e
2016-02-01 17:59:01 +09:00
Shinichiro Hamaji bee8fb862b Merge "Revert "Use dependency files generated by llvm-rs-cc for Java"" am: d6184e1da9
am: b1e250b44a

* commit 'b1e250b44aef5cf32493024584188d5055e0f54f':
  Revert "Use dependency files generated by llvm-rs-cc for Java"
2016-02-01 08:22:05 +00:00
Shinichiro Hamaji d6184e1da9 Merge "Revert "Use dependency files generated by llvm-rs-cc for Java"" 2016-02-01 08:16:42 +00:00
Shinichiro Hamaji 5f50ea3bc9 Revert "Use dependency files generated by llvm-rs-cc for Java"
This reverts commit 4c474617d4.

Change-Id: I66c46360d0ccf927c807ddd5cfbc56cbd97ed4a2
2016-02-01 08:08:26 +00:00
Shinichiro Hamaji 283e648a24 Merge "Use dependency files generated by llvm-rs-cc for Java" am: 3fdb9ad716
am: a73d744e36

* commit 'a73d744e36bd5e5c237607fb57253b757e9facf5':
  Use dependency files generated by llvm-rs-cc for Java
2016-02-01 07:57:01 +00:00
Shinichiro Hamaji 3fdb9ad716 Merge "Use dependency files generated by llvm-rs-cc for Java" 2016-02-01 07:50:32 +00:00
Dan Willemsen 917de453ee Merge "Order objects based on LOCAL_SRC_FILES and LOCAL_GENERATED_SOURCES" am: 224466b1af
am: 991c840313

* commit '991c8403131dc5781d3d4a1d10d292dc99fee202':
  Order objects based on LOCAL_SRC_FILES and LOCAL_GENERATED_SOURCES
2016-01-30 02:49:08 +00:00
Alex Klyubin 357902b9de Merge "Revert "Sign APKs using SHA-256 instead of SHA-1 when possible." This is breaking CTS." am: 01ac26d942
am: 1cafe66be2

* commit '1cafe66be274a5a8bbbc3a0dcab9d4e8f6e5ae61':
  Revert "Sign APKs using SHA-256 instead of SHA-1 when possible." This is breaking CTS.
2016-01-30 00:04:25 +00:00
Alex Klyubin 061289c432 Revert "Sign APKs using SHA-256 instead of SHA-1 when possible." This is breaking CTS.
This reverts commit c2a36afd67.

Change-Id: I4389bf99aeb213198c1c501ba9462bd4a4540d0a
2016-01-29 23:56:44 +00:00
Alex Klyubin d0aefe7947 Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." am: 50f872c696
am: 7a86884a9a

* commit '7a86884a9a3474a926d30f7afdf0b7a3d307dd81':
  Sign APKs using SHA-256 instead of SHA-1 when possible.
2016-01-29 20:25:10 +00:00
Alex Klyubin c2a36afd67 Sign APKs using SHA-256 instead of SHA-1 when possible.
This changes the build system to provide the signapk tool with the
minSdkVersion of the APK being signed. signapk in turn will then use
SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher
(see c2c49ed0c1).

To avoid increasing incremental OTA update package sizes for already
released platforms, release build scripts disable the above logic when
signing target files ZIPs for pre-N platforms.

Bug: 25643280

(cherry picked from commit de5bc04717)

Change-Id: I4b100750e47788ab6ed897a0a5abfd33542e8676
2016-01-29 10:17:02 -08:00
Shinichiro Hamaji 4c474617d4 Use dependency files generated by llvm-rs-cc for Java
This is similar to 2e45fd036a
but this CL is for generated java code.

For C++ code llvm-rs-cc defines two targets but it defines
three targets for Java. The sed script was updated to handle
both cases appropriately.

Bug: 26839129
Change-Id: I5c7705c67f3c65c4c14f74558e603f8ec9f35879
2016-01-28 17:03:02 +09:00
Dan Willemsen 3bb168f10d Order objects based on LOCAL_SRC_FILES and LOCAL_GENERATED_SOURCES
We have been reordering objects to the linker based on how they were
generated. In soong, they're ordered based on the order listed in the
src_files.

Keep track of which source files created which object files so that we
can create the ordered list. Optionally change the order, based on
BINARY_OBJECTS_ORDER. That way we can compare make and soong builds.

Since we're keeping track of the used source files, warn when an entry
in LOCAL_SRC_FILES is not used. (whether it is an unused file like a
header, or a typo)

LOCAL_GENERATED_SOURCES is not verified, since it is valid to add
headers and other files in that list (to set up dependencies).

Change-Id: I1dfbbb3aa570c11c1db3b7133e46ed0b8c3b8989
2016-01-27 16:48:02 -08:00
Sebastien Hertz dfce8ad4f4 Support code coverage with Jack
Building an app with Jack and with the environment variable
EMMA_INSTRUMENT_STATIC set to true will apply code coverage
onto the app targeting Jacoco.

Bug: 20115492
Change-Id: Ief3640fa3faa466f7f6aaa9739e06d3db24110a0
2016-01-27 19:14:14 +01:00
Alex Klyubin fcc3e3915d Merge "Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."" am: 4a97cde443
am: e40660247d

* commit 'e40660247dfb4260fff31ba38b2869f644e1329b':
  Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."
2016-01-27 17:56:21 +00:00
Alex Klyubin a80a8085e0 Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."
This reverts commit 74df828cb5. This commit is breaking a build, again...

Change-Id: I2df561d68302ba4c83e90a64a7bf203645033a3b
2016-01-27 17:45:42 +00:00
Alex Klyubin 6c125375b0 Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." am: 72d152f478
am: 5132fe2ef9

* commit '5132fe2ef9f29bd748a8d34898bd183ef257e937':
  Sign APKs using SHA-256 instead of SHA-1 when possible.
2016-01-27 17:04:09 +00:00
Adam Lesinski 97f48ebeab Merge "Support to build with AAPT2" 2016-01-26 19:25:03 +00:00
Alex Klyubin 74df828cb5 Sign APKs using SHA-256 instead of SHA-1 when possible.
This changes the build system to provide the signapk tool with the
minSdkVersion of the APK being signed. signapk in turn will then use
SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher
(see c2c49ed0c1).

To avoid increasing incremental OTA update package sizes for already
released platforms, release build scripts disable the above logic when
signing target files ZIPs for pre-N platforms.

Bug: 25643280
Change-Id: I058393e0971d0d6559dbd69ea902754c6c7cab14
(cherry picked from commit de5bc04717)
2016-01-26 18:41:57 +00:00
Shinichiro Hamaji d6cad82b89 Merge "Use dependency files generated by llvm-rs-cc" am: 19f99a742d
am: d39a629d3a

* commit 'd39a629d3ae3b072f419972356bcfa3fc340b1bd':
  Use dependency files generated by llvm-rs-cc
2016-01-26 06:41:53 +00:00
Ying Wang dd71c85a45 Support to build with AAPT2
To build with AAPT2, set "USE_AAPT2=true".
TODO: Support split apks and generated resources from other than renderscript.

Bug: 25958912
Change-Id: I19b1a038824ce5b2a3d3ffadbce3173c845193fc
2016-01-25 22:41:43 -08:00
Shinichiro Hamaji 2e45fd036a Use dependency files generated by llvm-rs-cc
This was a regression since kati has been introduced. This CL
introduces include-depfile function to make it easier to write
Makefiles which work with both make and kati.

As ninja can handle only a single dependency file per a build
rule, now we merge multiple .d files generated by llvm-rs-cc
into a .d file.

Change-Id: Iaf64a8f0523ab98115837e6e06abd50f06620363
2016-01-26 14:24:46 +09:00
Alex Klyubin 4f90999d7a Merge "Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."" am: 7382bdf8c1
am: 2cf2509542

* commit '2cf2509542d234e4d958195c834b74da2253b2cb':
  Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."
2016-01-25 17:26:54 +00:00
Alex Klyubin 7382bdf8c1 Merge "Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."" 2016-01-25 17:19:02 +00:00
Alex Klyubin 1429d5e14c Revert "Sign APKs using SHA-256 instead of SHA-1 when possible."
This reverts commit de5bc04717 because it's breaking some builds. Turns out some APKs have multiple sdkVersion attributes returned by aapt.

Change-Id: I013d6ef5eac473dd3900e0b9edf4c32cdc838bab
2016-01-25 17:17:09 +00:00
Alex Klyubin 6e850d0193 Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." am: b763b29267
am: 2a37afd32c

* commit '2a37afd32c4bb571ced26ec738a9d9a89b5fba7e':
  Sign APKs using SHA-256 instead of SHA-1 when possible.
2016-01-25 16:48:46 +00:00
Alex Klyubin b763b29267 Merge "Sign APKs using SHA-256 instead of SHA-1 when possible." 2016-01-25 16:42:27 +00:00
Christopher Wiley e46193a608 Merge "Separate aidl dependencies from compiler dependencies" am: 8edda3afdf
am: cfd817d058

* commit 'cfd817d058994ebda3b98db4e8113752753d422e':
  Separate aidl dependencies from compiler dependencies
2016-01-21 18:29:25 +00:00
Christopher Wiley d1eea90a72 Merge "Keep aidl generated C++ inside the generated folder" am: 11feb8b075
am: 7c52b2d878

* commit '7c52b2d878e6234cb6e36942c87c438fa1e80240':
  Keep aidl generated C++ inside the generated folder
2016-01-21 18:29:15 +00:00
Alex Klyubin de5bc04717 Sign APKs using SHA-256 instead of SHA-1 when possible.
This changes the build system to provide the signapk tool with the
minSdkVersion of the APK being signed. signapk in turn will then use
SHA-256 instead of SHA-1 if minSdkVersion is 18 (JB MR2) or higher
(see c2c49ed0c1).

To avoid increasing incremental OTA update package sizes for already
released platforms, release build scripts disable the above logic when
signing target files ZIPs for pre-N platforms.

Bug: 25643280
Change-Id: I048393e0971d0d6559dbd69ea902754c6c7cab14
2016-01-21 10:25:12 -08:00
Christopher Wiley 087f327304 Separate aidl dependencies from compiler dependencies
Both aidl and clang/gcc were putting their dependencies in the same
place.  Move aidl's dependencies to a file ending with .aidl.P rather
than the compiler's .P.

While here, inform kati that we have these special dep files.

Bug:26409006
Test: Rebuild, note both files being generated

Change-Id: I29d2eea822235d60713c2059f3a314e475eb5aa3
2016-01-20 12:54:09 -08:00
Christopher Wiley 257796c62d Keep aidl generated C++ inside the generated folder
Transform ../ to dotdot/ for C++ generateds from .aidl source files.
This forces us to use one layer of indirection to calculate the build
rules for .aidl files, since we can no longer use a pattern rule.

This was tested by modifying system/tools/aidl's Android.mk to refer to
its .aidl files by going up two directories and then repeating the
directories again.  When I print the build rules with $(info) I see that
dotdot/ appears in appropriate places (C++ paths, but not .aidl paths).

Bug: 26407018
Test: Described above.

Change-Id: I397c9d10408c0c66d8b5a247a1f34eb4bf4f74ce
2016-01-20 09:17:20 -08:00
Colin Cross 19f6638026 Merge "Ignore Android.mk files with USE_SOONG=true" 2016-01-13 20:32:26 +00:00
Ying Wang f0ebe165b9 Generate .c for .y and .l
- For .l/.y source files, generate .c files; for .ll/.yy source files,
  generate c++ files.
- Simplified the rules by adding the generated sources to
  my_generated_sources.
- Simplified generated header file naming by always using .h extension
  with bison's "--defines=" option.
- Removed the unnecesarry conditional inclusion to the generated
  headers. Bison already automatically generates such things.

Bug: 26492989
Change-Id: I9ab6dc149c258f7642bc36c3fa32f90ff7ee51a4
2016-01-12 21:07:27 -08:00
Ying Wang 64088f2459 Generate .c for .y and .l
- For .l/.y source files, generate .c files; for .ll/.yy source files,
  generate c++ files.
- Simplified the rules by adding the generated sources to
  my_generated_sources.
- Simplified generated header file naming by always using .h extension
  with bison's "--defines=" option.
- Removed the unnecesarry conditional inclusion to the generated
  headers. Bison already automatically generates such things.

Bug: 26492989
Change-Id: I9ab6dc149c258f7642bc36c3fa32f90ff7ee51a4
2016-01-11 17:41:56 -08:00
Colin Cross 861ab99536 Ignore Android.mk files with USE_SOONG=true
When USE_SOONG=true, ignore any Android.mk file that has an Android.bp
file in the same directory.

Change-Id: Id79bd90c2aed5dafc2f8ad2c5b7eb0aa6e81dc18
2016-01-11 13:43:27 -08:00
Przemyslaw Szczepaniak 20de4fa41c Allow for 5200 words in dump-words-to-file
After switching to OpenJdk,  doc-comment-check target
started to fail due to "Too many words (5082)" while
generating out/target/common/docs/doc-comment-check-timestamp.rsp
This change extends number of dumped words to 5200.

Bug: 25758743

(cherry picked from commit 972a2681c6)

Change-Id: I9b8516d1e7c113d667dcfb7963ee352972677afa
2015-12-24 10:10:55 +00:00
Yohann Roussel b7d4e5248d Merge "Do not set Jack source version, use default" am: 2983fd4b0f
am: 0a24035cf6

* commit '0a24035cf689fecdc01fa5fb3bc068c1e8f42f8c':
  Do not set Jack source version, use default
2015-12-21 13:03:19 +00:00
Yohann Roussel 09ee66e2b4 Do not set Jack source version, use default
Default source version is 1.7 in Jack B and Jack C so this means no
change to default. Not forcing it in the build rules will allow to
change it in LOCAL_JACK_FLAGS.

Bug: 26257295
Change-Id: If9b5fe250eea4bc6bcb3c16ad9cf7024d399ff3c
2015-12-18 10:30:21 +01:00
Shinichiro Hamaji 7034d9beae Merge "Reduce unnecessary rebuilds of .dex files with restat=1" am: 542aa57f1d
am: 0d4a0a9dd5

* commit '0d4a0a9dd5c1f3528b611862cb9fa81313028d1b':
  Reduce unnecessary rebuilds of .dex files with restat=1
2015-12-15 08:17:56 -08:00
Shinichiro Hamaji f972a4a980 Reduce unnecessary rebuilds of .dex files with restat=1
The .dex.toc files are created by dexdump, which outputs all
information in a .dex file which may affect compilation of
other modules.

For prebuilt java libraries and static java libraries, we'll
output empty .toc files and don't set restat=1. .dex.toc files
are necessary even for static java libraries because they can
be referenced by LOCAL_JAVA_LIBRARIES (instead of
LOCAL_STATIC_JAVA_LIBRARIES).

We don't use this optimization for apps build. We cannot build
dexdump for apps build due to lack of libc++.

Performance:

$ m && touch \
  frameworks/base/core/java/com/google/android/util/Procedure.java \
  && time m
Before: 3m48s
After: 1m46s

Bug: 24597504
Change-Id: Id1665923b414dee705dc60af4c021390a19ea26f
2015-12-14 19:07:34 +09:00
Alex Klyubin c1b31821ef Merge "Make signapk use Conscrypt." am: 7884a63731
am: dfd2199ef6

* commit 'dfd2199ef66dcc162a0165f9a34652ae2877538d':
  Make signapk use Conscrypt.
2015-12-11 10:47:26 -08:00
Alex Klyubin 9667b18f23 Make signapk use Conscrypt.
This makes the signapk tool use Conscrypt (where possible) instead of
the platform-default JCA providers and the Bouncy Castle JCA provider.
This speeds up (by 10-30%) APK and OTA update signing because
Conscrypt's crypto primitives are backed by BoringSSL.

Previously, the signapk tool consisted only of the signapk.jar.
Because Conscrypt is backed by native code, signapk now consists of
signapk.jar and crypto_openjdk_jni shared library. This requires that
users of the tool be updated to provide a suitable -Djava.library.path
argument to the Java runtime. This change updates all known users of
the tool inside the Android source tree to do so.

Bug: 26097626
Change-Id: I8411b37d7f771ed99269751a3007dff103083552
2015-12-11 08:36:42 -08:00
Ying Wang 6740f9c710 Merge "Gmake doesn\'t like newline in macro expansion result." am: c7d5e54dfe am: fe27825ca5
am: 82b304264e

* commit '82b304264ea590c6d331e4d87db3167875b31c10':
  Gmake doesn't like newline in macro expansion result.
2015-12-05 02:09:06 +00:00
Ying Wang 427f8c43aa Gmake doesn't like newline in macro expansion result.
When $(call func) in the makefile text expansion includes newline, gmake
reports error "missing separator". But it's fine if the expansion includes
only spaces. That's a bit odd.
This change fixes the "missing separator".

Change-Id: I094e5ae1725699ebfa4ed66544eef037dd68714c
2015-12-04 16:44:03 -08:00
Colin Cross f344fe0850 Merge changes I1de10391,I4399ca26,Iec3b2b0b am: bff3c9b4c1 am: bae8872294
am: dbeab8de65

* commit 'dbeab8de6543db1d0393789cb18ee7fd7ed8fedd':
  Use libstdc++ for ijar
  Build ijar for apps build
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-12-01 00:07:45 +00:00
Shinichiro Hamaji 89b255ab71 Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

(cherry picked from commit c1f5d9c203)

Bug: 24597504
Change-Id: Iec3b2b0b0e674bee5d80cce3c300dc8fad6e7c13
2015-11-30 11:16:23 -08:00
Shinichiro Hamaji d973ed9f47 Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"" am: 2ff3ad9045 am: 51ef51c4ad
am: 371b8c7f77

* commit '371b8c7f770f8215e6bda1433e5f236c106b4e64':
  Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
2015-11-27 04:07:51 +00:00
Shinichiro Hamaji 2ff3ad9045 Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"" 2015-11-27 03:59:30 +00:00
Shinichiro Hamaji 3ae7f66bab Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
This reverts commit c1f5d9c203.

Change-Id: I7e9969a060e3f1380154da65e76134168aee15d8
2015-11-27 03:58:51 +00:00
Paul Duffin 3c0045b2cf Merge "Fix generated-sources-dir-for for COMMON" am: 623799d3e0 am: 9c4bb4c1c0
am: fb4a7cf865

* commit 'fb4a7cf86544f2fb78f5fa4e950b6974bcb0965d':
  Fix generated-sources-dir-for for COMMON
2015-11-26 11:49:38 +00:00
Paul Duffin 623799d3e0 Merge "Fix generated-sources-dir-for for COMMON" 2015-11-26 11:39:30 +00:00
Shinichiro Hamaji 534bd29363 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files" am: c9a1b27845 am: 27770abe27
am: b42da32564

* commit 'b42da32564886ab7d3d5a2518b6868cd8fab9c78':
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-11-26 05:37:01 +00:00
Shinichiro Hamaji c9a1b27845 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files" 2015-11-26 05:25:58 +00:00
Paul Duffin 699a32217a Fix generated-sources-dir-for for COMMON
When the 4th argument specified is non-empty then it attempts to
use either HOST_OUT_GEN_COMMON or TARGET_OUT_GEN_COMMON
depending on whether the 3rd argument is non-empty or not
respectively. Unfortunately, those two variables do not exist,
the correct names for those variables is HOST_OUT_COMMON_GEN and
TARGET_OUT_COMMON_GET.

Change-Id: I66edb02824c06e0f504ebe04ff80ddbd77a16c95
2015-11-25 13:14:23 +00:00
Ying Wang 8cffb30a63 Fix typo.
Change-Id: I299076791c620968fa7a5c420b5ca21ea4d30b51
2015-11-24 14:10:52 -08:00
Ying Wang 6cce4026ff Fix typo.
Change-Id: I299076791c620968fa7a5c420b5ca21ea4d30b51
2015-11-24 14:09:11 -08:00
Ying Wang 3be52e6692 Don't delete META-INF in jack-java-to-dex when packing resources.
LOCAL_DONT_DELETE_JAR_META_INF is meant for deleting resources carried
by static Java libraries, see comment in clear_vars.mk.
For a module's own resources, we should pick up whatever in
LOCAL_JAVA_RESOURCE_DIRS.
The same applies  when building .jack from a  prebult jar in
transform-jar-to-jack.

Bug: 25860887
Change-Id: I20c120e039342a1124362c5f8747eace94b03931
(cherry-pick from commit 996ae38ffd)
2015-11-24 13:57:10 -08:00
Ying Wang 996ae38ffd Don't delete META-INF in jack-java-to-dex when packing resources.
LOCAL_DONT_DELETE_JAR_META_INF is meant for deleting resources carried
by static Java libraries, see comment in clear_vars.mk.
For a module's own resources, we should pick up whatever in
LOCAL_JAVA_RESOURCE_DIRS.
The same applies  when building .jack from a  prebult jar in
transform-jar-to-jack.

Bug: 25860887
Change-Id: I20c120e039342a1124362c5f8747eace94b03931
2015-11-24 12:09:58 -08:00
Przemyslaw Szczepaniak 972a2681c6 Allow for 5200 words in dump-words-to-file
After switching to OpenJdk,  doc-comment-check target
started to fail due to "Too many words (5082)" while
generating out/target/common/docs/doc-comment-check-timestamp.rsp
This change extends number of dumped words to 5200.

Bug: 25758743
Change-Id: Ifdc23d57c888c83533d237dd0a3bdafd20912cdf
2015-11-21 14:20:36 +00:00
Shinichiro Hamaji c1f5d9c203 Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

Bug: 24597504
Change-Id: Id54953aea25e497c8ebbe783b03f13b488577c6a
2015-11-19 17:10:35 +09:00
Dan Willemsen 67d993fc9c Merge "Sort dex and static lib resources" 2015-11-13 01:39:30 +00:00
Yohann Roussel 94f86f8877 Sort dex and static lib resources
Before adding them to the apk or javalib.jar. This allows the entries
order to be reproducible and will help to have a reproducible build.

Bug: 25629246

Change-Id: Ie596aecfdd08047ea9f9071896a2b980e7200b41
2015-11-12 14:58:19 +01:00
Dan Willemsen 5c64b4e81c Make uncompressing jni libs in prebuilt APKs reproducible
This was extracting the shared libraries into a temporary directory,
then adding them back into the zip file using the raw filesystem
ordering. Fix that by passing a sorted list to zip.

Bug: 24201956
Change-Id: I59c41151968be6faf289e04719a9992157eb405d
2015-11-11 18:26:38 -08:00
Shinichiro Hamaji 0e7587a9ea Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries
When a shared object is rebuilt, all dependent libraries and
executables are rebuilt. Such rebuild is unnecessary when there
is no interface change. With this patch, .toc files will be
generated for all .so files. The rule which generates .toc files
has ninja's restat=1 and .toc files are not changed ninja won't
rebuild dependent targets.

Performance:

$ m && touch bionic/libc/stdio/stdio.c && time m
Before: 1m03s (2563 targets)
After: 21s (90 targets)

Bug: 24597504
Change-Id: Ia5dd950273d143f4e99eee8bef7478f1a94cd138
2015-11-04 15:23:59 +09:00
Dan Willemsen a25ddad7d6 Don't use ziptime with unbundled builds
Some of the trees are unable to compile native code with the normal
build rules, even though they can build kati.

Bug: 24201956
Change-Id: I2afc3468480b2c78407d62323e6b82979c8ee254
2015-11-03 16:18:41 -08:00
Dan Willemsen 48a621c277 Remove changing uids/timestamps from zip/jar files
Pass -X to zip so that Unix UID/GID and extra timestamps aren't
saved into the zip files.

Add a new tool, ziptime, that uses a very stripped down copy of
zipalign. It no longer depends on libandroidfw, and now rewrites the
timestamps in place instead of making a copy of the zipfile. This should
improve speed and reduce disk requirements, especially with the large
packaging zip files.

Bug: 24201956
Change-Id: I50f68669f659da1b4393e964ad40b6aafb00c1e7
2015-11-02 14:51:54 -08:00
Lee Campbell 04ba31236e build: Add extra build customization for /product
This makes /product more consistent with /device & /vendor

BUG: 22030305

Change-Id: Ic65bfde7fb3e9fab8c8fb8d99af15404574abde0
2015-11-02 14:18:13 -08:00
Dan Willemsen b589ae4e26 Revert "Remove changing uids/timestamps from zip/jar files"
This reverts commit 3c2c064c87.

zipalign depends on libandroidfw, and some setups don't include frameworks/base.

Bug: 24201956
Change-Id: I48ee95808924f6b2221f0a49ab205c2565096b1f
2015-10-29 21:26:18 +00:00
Dan Willemsen 3c2c064c87 Remove changing uids/timestamps from zip/jar files
Pass -X to zip so that Unix UID/GID and extra timestamps aren't
saved into the zip files.

Add a new option to zipalign, -t, to replace all timestamps with static
timestamps (2008 Jan 1 00:00:00). Use this for all non-APK zip files.
APK zip timestamps are set based on the certificate date in SignApk.

Bug: 24201956
Change-Id: Ifb619fc499ba9d99fc624f2acd5f8de36d78ef8e
2015-10-29 11:57:16 -07:00
Ying Wang 4d68879ca6 Normalize java source file paths before running "sort -u".
We rely on "sort -u" to dedupe aidl/logtags generated java files added
by both from $(all_java_sources) and from "find
$(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java".
But "sort -u" doesn't work if any of the aidl/logtags source file path
has "../" in it.
This change fixes this issue by normalizing the source file paths before
passing them to "sort -u".

Change-Id: I12d2c4e0397bed9f426a1ed9b13608d72d01e0df
2015-10-23 13:19:47 -07:00
Yohann Roussel 6528ea3086 Remove LOCAL_JACK_EXTRA_ARGS
Use of DEFAULT_JACK_EXTRA_ARGS and LOCAL_JACK_FLAGS provides all needed
support.

(cherry picked from commit d2b2983cc7)

Change-Id: I1cd76836792e7332bc3750408a860400b0957485
2015-10-21 17:22:27 +02:00
Yohann Roussel 8998d57404 Allow control of jack used for compilation
Version of Jack used to compile a module can now be control from
a dedicated mk located in prebuilts/sdk/tools

Bug: 24564814

(cherry picked from commit b68c9a498d)

Change-Id: I7809dc966026ff94b5cb2daa7e2c63762ca4768d
2015-10-21 17:22:05 +02:00
Yohann Roussel b2c5558435 Clean call-jack and its callers
This is possible now that we have the new Jack server.
Also fix dependency from dex/jack target to jack script
instead of jack.jar.

(cherry picked from commit 5e50b34221)

Change-Id: I8e7aa5087ba8d73cc93140ddfca8f4ab2f505175
2015-10-21 17:02:25 +02:00
Dan Willemsen 9f576acde6 Merge "Stop encoding absolute paths in symbols" 2015-10-20 20:46:21 +00:00
Christopher Wiley 2df75d17a8 Invoke the aidl-cpp compiler to generate C++
Bug: 23599697
Test: test application compiles generated code

Change-Id: I35255517dd0b7ef7a82134be1c862093eaa3ce6b
2015-10-19 16:18:03 -07:00
Dan Albert 5baea14363 Merge "Use libgcov OR libclang_rt.profile, not both." 2015-10-15 18:39:42 +00:00
Ying Wang 3a562a9942 Use @arg-lsit-file for jar in add-carried-jack-resources
Don't pass the arg list as argument in any bash command;
Instead store the arg list to the arg list file and
run "jar @arg-lsit-file".
Note we need to quote the arguments in the arg list file.

This fixed "argument list too long" build error on Mac.

Bug: 24789595
Change-Id: I718f84e540d82bb83516824894a473b2961da278
2015-10-14 17:48:21 -07:00
Dan Willemsen 6a66a887ba Stop encoding absolute paths in symbols
GCC & Clang encode the current working directory into the symbol files.
Even if the binaries are stripped before being installed, the build-id
hash will be different. This means that two different checkouts will
produce different installed binaries, even if the sources are identical.

To prevent this, set PWD=/proc/self/cwd, so that it replaces the
absolute path with the static path /proc/self/cwd. With GCC, use
-fdebug-prefix-map to remove that static path. Our clang does not yet
support this flag, but it was merged in r250094.

This does change the behavior when using gdb -- you now need to be in
$ANDROID_BUILD_TOP before gdb will load the sources.

Bug: 24204119
Change-Id: I792d65b042b7a3fdc78d567c5a6e93cdf0141b9b
2015-10-14 17:30:11 -07:00
Ying Wang ed4b0eeb43 Merge "Revert "Use @arg-lsit-file for jar in add-carried-jack-resources"" 2015-10-14 23:09:14 +00:00
Ying Wang 3bfecc8b65 Revert "Use @arg-lsit-file for jar in add-carried-jack-resources"
This reverts commit 16f93d5661.

Change-Id: I925dae6a2d07792c61fcd3b6fd8718391ab993f8
2015-10-14 23:08:53 +00:00
Ying Wang 3757268466 Merge "Use @arg-lsit-file for jar in add-carried-jack-resources" 2015-10-14 21:43:41 +00:00
Chih-Wei Huang 74ccefbee5 Let get-prebuilt-src-arch return empty if the input is empty
The list of archs of a pure java apk (no native libs) is empty.
In this case get-prebuilt-src-arch still return 'none'.
If it's set to LOCAL_MODULE_TARGET_ARCH, it makes the apk
be incompatible with the building target. It's not good.

Just return empty in this case.

Change-Id: Ide75cdb08c8480c8e7d3a0ac59f41831fbc18bd5
2015-10-14 18:56:14 +08:00
Ying Wang 16f93d5661 Use @arg-lsit-file for jar in add-carried-jack-resources
Don't pass the arg list as argument in any bash command;
Instead store the arg list to the arg list file and
run "jar @arg-lsit-file".

This fixed "argument list too long" build error on Mac.

Bug: 24789595
Change-Id: I3e5cd18fd988f12f0876b152b8bf07d07b56119e
2015-10-13 18:45:16 -07:00
Dan Willemsen 92f5fcc5b3 Add all-named-(dirs|files)-under and related
To consolidate the number of places that we're using 'find' in the tree,
add some more helpers:

  all-named-dirs-under
  all-subdir-named-dirs
  all-named-files-under
  all-subdir-named-files

This change also makes many of the current helpers use these helpers
instead of using their own implementation.

The 'dirs' helpers are using '-type d' so that they only output
directories. It's probably safe to use '-type f' for the files helpers,
but that increased the kati load time by ~20%.

Bug: 24204119
Change-Id: I3312e2fe8c146f10955e1d986ad15d9c8be494e1
2015-10-12 15:32:28 -07:00
Dan Albert 7fbbc5d205 Use libgcov OR libclang_rt.profile, not both.
Using both can cause duplicate symbol errors.

Change-Id: Id8ee13a81d32e3248ff1cdc468f49a26ecde6b57
2015-10-08 14:16:39 -07:00
Yohann Roussel f8c63cbac2 Ensure dump-words-to-file creates the target
Even if word list is empty.

Not creating the file was causing print of error messages that were
not preventing compilation to continue when compiling Java module with
no source.

Change-Id: I095b85f85ed6fcef5882afa39d4af51b78124c7c
2015-10-07 09:34:42 +02:00
Dan Willemsen 05bb4fed0d am edc3e6cd: Merge "Sort more instances of wildcard and find"
* commit 'edc3e6cd6a0d6af4df3d6f07f40de17980b66ad0':
  Sort more instances of wildcard and find
2015-09-30 23:44:10 +00:00
Dan Willemsen 24b5fcf92a am 604e532f: Merge "Add all-cpp-files-under"
* commit '604e532f842fa38982eb47708e3afb5415ba4b72':
  Add all-cpp-files-under
2015-09-30 23:44:01 +00:00
Dan Willemsen edc3e6cd6a Merge "Sort more instances of wildcard and find" 2015-09-30 22:36:30 +00:00
Dan Willemsen 7c3e3f8314 Sort more instances of wildcard and find
Many of these may not make a difference in the output images, but it's a
good idea to keep the make system as repeatable as possible.

Change-Id: I31804b8ad5805148ed08be7426a242a16f4d0df3
2015-09-30 22:25:49 +00:00
Dan Willemsen 604e532f84 Merge "Add all-cpp-files-under" 2015-09-30 22:15:50 +00:00
Dan Willemsen 379f9f9cec Add all-cpp-files-under
There are multiple versions of this in the tree. Let's standardize on
one that will work for everyone, and will sort the results.

Bug: 24204119
Change-Id: I09fcd80e1e8e35e64d8a8a62bbc096f87b02603f
2015-09-29 16:32:28 -07:00
Colin Cross 7ee3b85eba resolved conflicts for 953981db to stage-aosp-master
Change-Id: Ic1003a594ac5e5e91b124f249a569fb81123e973
2015-09-28 18:45:23 -07:00
Colin Cross 98da13bbd2 resolved conflicts for 6c3bf1b8 to stage-aosp-master
Change-Id: If93ed1d9229f7fbe750f85ea4b3c3e4fce5dbb29
2015-09-28 16:41:45 -07:00
Colin Cross a4447e8c89 Don't add dependencies on Makefiles when using ninja
Ninja has an implicit dependency on the command being run, and kati will
regenerate the ninja manifest if any read makefile changes, so there is no
need to have dependencies on makefiles.
This won't catch all the cases where LOCAL_ADDITIONAL_DEPENDENCIES contains
a .mk file, because a few users of LOCAL_ADDITIONAL_DEPENDENCIES don't
include base_rules.mk, but it will fix the most common ones.

Bug: 23566977
Change-Id: I66de882421376303ab7233c8ce7274548f6b2199
2015-09-28 16:29:52 -07:00
Colin Cross 92f8348aeb Use zip -q for adding shared libraries
Make zip quiet when adding shared libraries to apks.

Bug: 24409581
Change-Id: I540510eb6e051b5fc9d1d2a7fa5565a5b774a602
2015-09-28 16:15:09 -07:00
Colin Cross 5540a746b6 am f262f906: Merge "Remove "preparing StaticLib" messages"
* commit 'f262f906f28f1abedb32b1645b7f1ed5c0abbe45':
  Remove "preparing StaticLib" messages
2015-09-28 22:26:54 +00:00
Colin Cross aa0aca69cf Remove "preparing StaticLib" messages
The preparing StaticLib messages don't provide any useful information,
remove them to clean up build output.

Bug: 24409581
Change-Id: I81fa7c47fd0d10846a21667b6421b4777260d0e9
2015-09-28 14:51:19 -07:00
Dan Willemsen a0af56f698 am bd1b9e33: Merge "Sort all files found via "
* commit 'bd1b9e3332de46e1f08b4b5ca8f53d0a096b4793':
  Sort all files found via $(shell find)
2015-09-24 02:20:39 +00:00
Dan Willemsen 4d66adfd0e Sort all files found via $(shell find)
Don't rely on filesystem ordering to make these the same for all builds.

Change-Id: I7313062157764091acecf45f4b57405c28858546
2015-09-23 15:35:52 -07:00
Ying Wang 197e592ea5 am 3c4c3418: Merge "Don\'t add build number to apps\' version name for platform build."
* commit '3c4c34183a10fd3deac81a8fc1fed8c774f12190':
  Don't add build number to apps' version name for platform build.
2015-09-20 03:41:43 +00:00
Ying Wang d75d893da8 Don't add build number to apps' version name for platform build.
Bug: 24201956
Change-Id: I4a4bb483bb7b1bf7b7a856050d548bee4db0fe93
2015-09-19 10:56:35 -07:00
Scott James Remnant d8f08571b3 am 909fe8e0: Merge "build: support compiling .mm on host"
* commit '909fe8e0f7da8db09a004ef44a90e786c81df5e4':
  build: support compiling .mm on host
2015-09-17 23:15:30 +00:00
Scott James Remnant dd86e5a0de build: support compiling .mm on host
libchrome uses .mm (Objective-C++) files to bridge C++ code with
OS X Frameworks. This adds support for compiling .mm to .o by just
using the existing C++ support.

Bug: 24168923
Change-Id: Ia65357e2e2584dfffcb6796e214fe6b27635c3a6
2015-09-17 15:51:32 -07:00
Dan Willemsen c98d9a9d0f am f1c09d7f: Merge "Add HOST_CROSS_OS"
* commit 'f1c09d7fbd92a08cc51950a7d35fb5f7fc564a20':
  Add HOST_CROSS_OS
2015-09-09 18:19:13 +00:00
Dan Willemsen 057aaea54a Add HOST_CROSS_OS
Instead of using recursive make to change the HOST_OS when building the
windows SDK under linux, add the concept of cross-building to another
host os.

Bug: 23566667
Change-Id: I6dc525b601b6251d458d197c30bf4660d7485502
2015-09-09 18:12:29 +00:00
Ying Wang 119cec9a4a am 4e2f1903: Merge "Clean up Javac a little bit."
* commit '4e2f190315759b4270ab414b9ff1e24a19521521':
  Clean up Javac a little bit.
2015-09-02 21:18:38 +00:00
Ying Wang 447d69678e Clean up Javac a little bit.
- Added GLOBAL_JAVAC_DEBUG_FLAGS and merge it to
  PRIVATE_JAVACFLAGS/PRIVATE_JACK_FLAGS to get rid of
  PRIVATE_JAVAC_DEBUG_FLAGS/PRIVATE_JACK_DEBUG_FLAGS.
- With Java rules out of base_rules.mk we can get rid
  of java_alternative_checked_module now.

Change-Id: I1a14716c785e3d49330a75044107662ce96a9307
2015-09-02 10:04:18 -07:00
Ying Wang 3351178fb8 Cleaned the outdated incrementaljavac.
Nobody is using this feature and now we switched to jack.

Change-Id: I749b486eb347cbf3ee7b107565fc800eeb238c44
(cherry-picked from commit 90598cb70c)
2015-08-29 11:08:02 -07:00
Christopher Wiley 3f7c5424db am 2b2c9dff: am 4e719eaf: Merge "Change .dbus.xml extension to .dbus-xml"
* commit '2b2c9dff35304c21ebe1e793a16443a882920f75':
  Change .dbus.xml extension to .dbus-xml
2015-08-21 22:24:31 +00:00
Christopher Wiley 2b2c9dff35 am 4e719eaf: Merge "Change .dbus.xml extension to .dbus-xml"
* commit '4e719eafc4d183dd923518cea6292f37ee1e26c6':
  Change .dbus.xml extension to .dbus-xml
2015-08-21 20:51:11 +00:00
Christopher Wiley 9b17dea308 Change .dbus.xml extension to .dbus-xml
Work around gyp's inability to handle compound extensions by expecting
a similar looking simple extension for XML files definine DBus
interfaces.  We'll need to rename these sources in the places we're
using them already.

Bug: 23380180
Change-Id: Ieb2050f3ef05456cd70de65c3e128d57a6a508f8
2015-08-20 09:36:08 -07:00
Christopher Wiley 5bc62fdc65 am 7db39448: am 9e3b4ed4: Merge "Fix DBus proxies to use all definitions"
* commit '7db39448409ef9797089774ca8e196142662b0f2':
  Fix DBus proxies to use all definitions
2015-08-19 22:31:10 +00:00
Christopher Wiley 9c49f0affa am 688b4a3d: am 4d2b79f9: Merge "Generate DBus proxies and adaptors separately"
* commit '688b4a3db72b58e8908ecdb24e6c4d64a44fdbc6':
  Generate DBus proxies and adaptors separately
2015-08-19 22:31:03 +00:00
Christopher Wiley 7db3944840 am 9e3b4ed4: Merge "Fix DBus proxies to use all definitions"
* commit '9e3b4ed4991eb19e60346858bfdbb494d9324252':
  Fix DBus proxies to use all definitions
2015-08-19 21:47:27 +00:00
Christopher Wiley 974b82259a Fix DBus proxies to use all definitions
Bug: 22608897
Change-Id: Id17cf4b896c1c62be874599c7f346f3045e36819
2015-08-19 13:48:53 -07:00
Christopher Wiley 688b4a3db7 am 4d2b79f9: Merge "Generate DBus proxies and adaptors separately"
* commit '4d2b79f99ef34a504fe9f7e362a861d7ddee5659':
  Generate DBus proxies and adaptors separately
2015-08-19 18:37:48 +00:00
Christopher Wiley 529f176ee1 Generate DBus proxies and adaptors separately
Enable daemons exposing an interface over DBus to easily
build client libraries.  Now daemons can write rules like:

include $(CLEAR_VARS)
LOCAL_MODULE := libdbus-binding-example-client
LOCAL_DBUS_PROXY_PREFIX := dbus-example-example
LOCAL_SRC_FILES := \
    dbus_bindings/org.chromium.Example.Manager.dbus.xml \
    dbus_bindings/dbus-service-config.json
include $(BUILD_SHARED_LIBRARY)

to expose a client library.

While here, add support for generating independent adaptor header
files on a per interface basis.

Bug: 22608897
Change-Id: I011f9afc234811c31e445898321c2731c482fa77
2015-08-19 11:14:16 -07:00
Ying Wang f526c169ef am c3dcb6c0: Merge "Consolidate the nanopb-c and regular protobuf build rules."
* commit 'c3dcb6c06bd2fbe816a918e9c3b099669bbeb5b5':
  Consolidate the nanopb-c and regular protobuf build rules.
2015-08-18 21:41:03 +00:00
Ying Wang c3dcb6c06b Merge "Consolidate the nanopb-c and regular protobuf build rules." 2015-08-18 21:35:37 +00:00
Ying Wang b28ed234aa Consolidate the nanopb-c and regular protobuf build rules.
Bug: 20093047
Change-Id: I38ebd748aacce6d215403da481ad04833810a995
2015-08-18 14:27:45 -07:00
Dan Willemsen 1b14846717 am 48d95e75: am 05d97fe7: Merge "Remove legacy windows platform build support"
* commit '48d95e752536dc7a81c141e435e8a90b7929cf02':
  Remove legacy windows platform build support
2015-08-18 04:43:04 +00:00
Dan Willemsen 48d95e7525 am 05d97fe7: Merge "Remove legacy windows platform build support"
* commit '05d97fe723ea376edb5fe6b12535485311a32418':
  Remove legacy windows platform build support
2015-08-18 04:37:09 +00:00
Dan Willemsen 145ae32069 Remove legacy windows platform build support
We still support HOST_OS=windows for the SDK host tools cross-builds, but
that's only when USE_MINGW is set when running under linux.

Change-Id: I37da87dc9fbbd69ba10ce4d7f2668ab3f6482d92
2015-08-17 12:35:04 -07:00
Yang Ni 9d1eaaea61 am dcfb0c80: am 36600a6b: Merge "Include target api version in build system for rscpp."
* commit 'dcfb0c8018ec9e81fa79f3251a3d49a4cc90ddf4':
  Include target api version in build system for rscpp.
2015-08-15 02:18:57 +00:00
Yang Ni dcfb0c8018 am 36600a6b: Merge "Include target api version in build system for rscpp."
* commit '36600a6bf9b3b79327785cd740a909d3920d6519':
  Include target api version in build system for rscpp.
2015-08-14 18:46:18 +00:00
Noah Presler 4796a8c524 Include target api version in build system for rscpp.
b/23161320

Change-Id: Ibc23309abed092e7648168fbf4b80891a44929a6
2015-08-13 17:07:56 -07:00
Dan Willemsen 544fabcef0 am b8331622: am 46ed451d: Merge "build: Load makefiles in the same order with Make 4.0"
* commit 'b8331622962be9d044eedce0aa1dff33ca1c5b16':
  build: Load makefiles in the same order with Make 4.0
2015-08-07 20:20:56 +00:00
Dan Willemsen b833162296 am 46ed451d: Merge "build: Load makefiles in the same order with Make 4.0"
* commit '46ed451d12272edcb0ada9a8e0ec1f5f6e340ff8':
  build: Load makefiles in the same order with Make 4.0
2015-08-07 00:54:47 +00:00
Dan Willemsen 46ed451d12 Merge "build: Load makefiles in the same order with Make 4.0" 2015-08-07 00:47:51 +00:00
Dan Willemsen ec224d5072 build: Load makefiles in the same order with Make 4.0
Make 4.0 (and Kati) removed the implicit sort from the $(wildcard)
function. In order to ensure that makefiles are always loaded in the
same order, and an explicit sort.

This shouldn't matter, but some makefiles are modifying variables used
by siblings (LLVM_ROOT_PATH under frameworks/compile). In this case, the
path value still pointed to the same path, it just had extra '..'
references, and was enough to cause the binaries to be different.

Change-Id: Ief6551f999351ee2c193275aaae426dc064f8b34
2015-08-06 15:21:30 -07:00
Christopher Wiley a3dbe51f42 resolved conflicts for merge of 7d1be400 to mnc-dev-plus-aosp
Change-Id: Ifc2b669bc573f059f35085d11693ea3d2cac11ec
2015-08-05 10:18:16 -07:00
Christopher Wiley 7d1be40047 am 5923fcd0: Merge "Add build rules to generate native DBus interfaces"
* commit '5923fcd02131abfd1bc8f39704edc6c7e8100154':
  Add build rules to generate native DBus interfaces
2015-08-05 15:46:44 +00:00
Christopher Wiley 5923fcd021 Merge "Add build rules to generate native DBus interfaces" 2015-08-05 15:40:00 +00:00
Ying Wang 6eed5fc703 am bd555f15: resolved conflicts for merge of d86f39ca to stage-aosp-master
* commit 'bd555f1523ec3faafe1e3c6cefce9fe0c96090c1':
  Ignore .*.java files when collecting .java files.
2015-08-04 20:44:58 +00:00
Ying Wang bd555f1523 resolved conflicts for merge of d86f39ca to stage-aosp-master
Change-Id: Ifceb6705eeaaacc9f49788bc0e37a27e398beef0
2015-08-04 13:36:07 -07:00
Ying Wang 4aedea90e8 Ignore .*.java files when collecting .java files.
Bug: 22934689
Change-Id: I6c9cc8f37d09eb190946e596e5d1ba0c3b318088
2015-08-04 12:46:13 -07:00
Christopher Wiley bc2be461e4 Add build rules to generate native DBus interfaces
With this patch, we can now write Android makefiles like:

include $(CLEAR_VARS)
LOCAL_MODULE := dbus-binding-example
LOCAL_SRC_FILES := main.cpp \
                   dbus-service-config.json \
                   org.example.Daemon.Command.dbus.xml \
                   org.example.Daemon.Manager.dbus.xml
include $(BUILD_EXECUTABLE)

This will cause header files defining native DBus interfaces
to be generated.  These can be included from main.cpp to
easily expose object oriented interface over DBus.

Bug: 22608897
Change-Id: Ic4304ac8de77de74d6955ed17789e5477be9a53e
2015-07-31 11:14:35 -07:00
Ying Wang 72a8e48b56 am ac6e6b34: am 0c0b2e65: Merge "Use unmodified MAKECMDGOALS in ninja.mk."
* commit 'ac6e6b347b49b4c15df1f1b2869f2c386f2755d6':
  Use unmodified MAKECMDGOALS in ninja.mk.
2015-07-30 00:15:31 +00:00
Ying Wang ac6e6b347b am 0c0b2e65: Merge "Use unmodified MAKECMDGOALS in ninja.mk."
* commit '0c0b2e659fe52dc1901677b74dc390c52b1b5e3b':
  Use unmodified MAKECMDGOALS in ninja.mk.
2015-07-29 22:11:39 +00:00
Ying Wang bb1da5e614 Use unmodified MAKECMDGOALS in ninja.mk.
The build system removes targets like "PRODUCT-full-eng" from
MAKECMDGOALS in build/core/product_config.mk.
Without this change, such target isn't passed to kati.

Change-Id: I0b3949ed1f5557445d7f5d5bd59b7875c0b2ea7f
2015-07-29 12:21:54 -07:00
Ying Wang 6c4176e2d0 am 8b4d1432: am cd7dfdb4: Merge "Cleanups."
* commit '8b4d1432395733db45e2dfaeee24fe44d3c49bbe':
  Cleanups.
2015-07-23 02:06:39 +00:00
Colin Cross 8d9dfa3d9b resolved conflicts for merge of 8c25fd56 to mnc-dev-plus-aosp
Change-Id: I318ce3d7bbfbcaf849a36543662f4c63b7377927
2015-07-22 19:01:07 -07:00
Ying Wang 8b4d143239 am cd7dfdb4: Merge "Cleanups."
* commit 'cd7dfdb4bf3f7d431d2a37908c550a83a282bf22':
  Cleanups.
2015-07-21 23:57:42 +00:00
Ying Wang bbd4755647 Cleanups.
- Deleted unused functions in definitions.mk.
- lint is never fully functional in the platform source tree.
- Retire LOCAL_DIST_BUNDLED_BINARIES: now the build system/framework
  supports JNI embedded in apk.

Change-Id: I6314cb20d1544c704ccbc4c1f9cccb9c54fb5a51
2015-07-21 16:03:19 -07:00
Colin Cross 8c25fd565a am 1d0f6eb1: Merge "Read BUILD_NUMBER from file in rules"
* commit '1d0f6eb115e4fd0093bd3d026264e579689a57c3':
  Read BUILD_NUMBER from file in rules
2015-07-21 19:31:47 +00:00
Colin Cross f37b455858 Read BUILD_NUMBER from file in rules
Using $(BUILD_NUMBER) inside a rule causes odd behavior, as the rule
is different every time make is run, but since make doesn't depend
on the command line it only ends up being built with the new value
if some other dependency has changed.

To allow ninja, which does depend on the command line, to provide the
same behavior, store the build number in out/build_number.txt, and
use a shell expansion to cat the file in rules that use it.  This will
cause the rule command to stay identical between builds, while still
getting the new build number if the rule is rerun for a dependency.

Also use the same trick for BUILD_FINGERPRINT, and the date in
droiddoc rules.

Change-Id: I6c5e6b6b3ef4c613563d7f5604df0e401575ba5f
2015-07-18 12:15:04 -07:00
Colin Cross af7abc38fc am 0f0a6b62: am 03e74d66: Merge "Move @echo to first command in rules"
* commit '0f0a6b62bf9e06f980d86fbd6afeaad33fef03e5':
  Move @echo to first command in rules
2015-07-17 23:23:01 +00:00
Colin Cross 0f0a6b62bf am 03e74d66: Merge "Move @echo to first command in rules"
* commit '03e74d66c73558b517a56be75acc9a391c676ba8':
  Move @echo to first command in rules
2015-07-17 23:12:41 +00:00
Colin Cross b6da589f60 Move @echo to first command in rules
Move the @echo command that prints the rule description to be the
first command in each rule so that the kati tool can find it to
use as a ninja rule description.

Change-Id: I90f27c35bb719d327a7f2109f8d00d3589082f19
2015-07-16 17:14:27 -07:00
Ying Wang c2231e70e3 am e8ecab8d: Merge "Don\'t uncompress/page-align the jni libraries in apps_only build." into mnc-dev
* commit 'e8ecab8d099f465d527f7bc0fbd04f26ac477a93':
  Don't uncompress/page-align the jni libraries in apps_only build.
2015-07-16 19:04:49 +00:00
Ying Wang 1f8964d388 Don't uncompress/page-align the jni libraries in apps_only build.
Don't uncompress/page-align the jni libraries in apps_only build,
because the apk may be run on older platforms that don't support loading
jni directly from apk.
When prebuilt apks are installed to platform build, the build system
will automatically uncompress/page-align the prebuit apks in M and
downstream, so no need to uncompress/page-align in the apps_only build
either.

Bug: 22491084
Change-Id: I67e977b2592800ae467450592069843b4e5fc466
2015-07-15 18:34:20 -07:00
Evgenii Stepanov 436a2fb9e3 am 275e3c8c: am 2d0ec893: Merge "Use a different linker for ASan binaries."
* commit '275e3c8c105e5702b25868f80983c82c668e5664':
  Use a different linker for ASan binaries.
2015-07-15 21:27:42 +00:00
Evgenii Stepanov 275e3c8c10 am 2d0ec893: Merge "Use a different linker for ASan binaries."
* commit '2d0ec89357e29138abc28f65876e4aaa208f961c':
  Use a different linker for ASan binaries.
2015-07-15 19:43:45 +00:00
Evgenii Stepanov 8f5e67a98c Use a different linker for ASan binaries.
Another change in bionic/linker adds linker_asan/linker_asan64 that
know where to find ASan shared libraries.
Also, include linker_asan to the required packages list when building
for ASan.

Change-Id: I8ebe7c0091bbeb0c135708a891d33d9844373d37
2015-07-14 11:10:40 -07:00
Ying Wang 1f59fcb23d am 8f908ade: am 2e26f896: Merge "Simplify LOCAL_NO_CRT."
* commit '8f908ade58fd21d5bb27b7a42f8f07553c237df6':
  Simplify LOCAL_NO_CRT.
2015-07-04 02:58:23 +00:00
Ying Wang 8f908ade58 am 2e26f896: Merge "Simplify LOCAL_NO_CRT."
* commit '2e26f896a65563f750f2d459d13cc8edfa705d95':
  Simplify LOCAL_NO_CRT.
2015-07-02 23:06:54 +00:00
Ying Wang 491fca9809 Simplify LOCAL_NO_CRT.
Change-Id: If2486e4861071df6b225fe7f387530a38f554484
2015-07-02 15:58:34 -07:00
Dan Albert 8b36f7fcc7 am 2bb996f6: am 46cb2ee3: Merge "Force some clang Werrors that *will* break things."
* commit '2bb996f6a58dd4b9e682f9c59a7dad94412bdd86':
  Force some clang Werrors that *will* break things.
2015-06-13 02:25:20 +00:00
Dan Albert 2bb996f6a5 am 46cb2ee3: Merge "Force some clang Werrors that *will* break things."
* commit '46cb2ee3cb120a1c03241e9e2aa66d76c890c486':
  Force some clang Werrors that *will* break things.
2015-06-12 19:59:13 +00:00
C. Sean Young 6f44670ada am cbaead4c: am 540772fa: am cf469989: Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
* commit 'cbaead4cfe737c96c649672b6c1396c35597b5b7':
  Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
2015-06-12 17:43:46 +00:00
C. Sean Young cbaead4cfe am 540772fa: am cf469989: Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
* commit '540772fa2287e63a0c745229fb72b78903c9cd70':
  Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
2015-06-12 16:29:25 +00:00
Dan Albert d160041149 Force some clang Werrors that *will* break things.
Clang is really aggressive at optimizing a handful of cases (read:
clang will ruin your day some if you write bad code). Fortunately, it
also emits a warning when it's about to do this.

To prevent anyone from suffering from these optimizations, make these
warnings errors and make them impossible to disable.

Change-Id: I5e10bb0fc2ca23190017da716b3b84635577a0bd
2015-06-10 17:24:38 -07:00
Adrian Roos 6784cae413 Switch build to stricter aapt symbol generation
Prevents aapt from generating java symbols for strings that don't have
a default localization.

Bug: 21537397
Change-Id: I2f17397e33d823045f7dcff02e3d0817f3f81849
2015-06-10 20:00:13 +00:00
C. Sean Young cf4699895a Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
These directories are excluded in addition to OUT_DIR.
This can be useful if your build system has other output directories
beyond what OUT_DIR is set to.

Change-Id: I6d98a85bcc8c89279e939406a7fec32547e8922f
2015-06-10 13:00:13 -05:00
Dimitry Ivanov 72bced8a75 Merge changes from topic 'prebuilt-open-from-apk' into mnc-dev
* changes:
  Uncompress .so files before signing the apk.
  Don't extract jni from prebuilt apks.
2015-06-04 18:33:00 +00:00
Yohann Roussel b518c3ec0b [DO NOT MERGE] Add support for RMTYPEDEF with Jack
Bug: 21099584

(cherry-picked from commit 5b2c6e26db)

Change-Id: I39aa1f24780c216e978ef743098ca7ac65b2962e
2015-06-02 12:25:51 +02:00
Yohann Roussel a9dd74c395 Merge "Add support for RMTYPEDEF with Jack" into mnc-dev 2015-06-02 09:36:27 +00:00
Ying Wang 1fb0152ff7 Don't extract jni from prebuilt apks.
- We don't need LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES now, for we always
  page-align jni shared libraries and store them umcompressed.
- For prebuilt apks, we don't extract jni any more; Instead we always run
  uncompress-shared-libs on them.
- For apks built from source, we still install the jni separately, because
  that way multiple apks can share the same jni and it saves space.

With this change, for most prebuilt apks, we don't need to specify
LOCAL_PREBUILT_JNI_LIBS ("@lib/<abi>/foo.so") any more, for the build
system automatically replaces the embedded jni with uncompressed files;
But if a prebuilt is a fat apk (i.e. containing jni not needed by the
current product architecture), you still need LOCAL_PREBUILT_JNI_LIBS to
specify what jni to keep. Otherwise all embedded jni will be replaced with
uncompressed files, that wastes space.

Bug: 8076853
Change-Id: Ic3666dc72bf17cd293787414dd185470b365f967
2015-06-01 19:19:45 -07:00
Ying Wang 9cc3b7572c am 91c2f705: Merge "Add /lib[64] to host binary\'s rpath."
* commit '91c2f7053d131cb9449eccfda97ec80130dbf451':
  Add $ORIGIN/lib[64] to host binary's rpath.
2015-06-01 18:37:12 +00:00
Ying Wang 30127bfdad Add $ORIGIN/lib[64] to host binary's rpath.
Normally the binaries use the exsiting $ORIGIN/../lib[64] with binaries
in the bin subdirectory;
For historical reason the binaries in the SDK package don't have a bin
subdirectory. This workaround enables them to work in the existing SDK
directory structure.

Bug: 21301578
Change-Id: Ibebfbfb8b30e81e7bbaf13a21bb205f3f0282d24
(cherry-pick from commit 4fe7bfd373)
2015-06-01 11:28:02 -07:00
Ying Wang 4fe7bfd373 Add $ORIGIN/lib[64] to host binary's rpath.
Normally the binaries use the exsiting $ORIGIN/../lib[64] with binaries
in the bin subdirectory;
For historical reason the binaries in the SDK package don't have a bin
subdirectory. This workaround enables them to work in the exsiting SDK
directory structure.

Bug: 21301578
Change-Id: Ibebfbfb8b30e81e7bbaf13a21bb205f3f0282d24
2015-06-01 10:43:29 -07:00
Yohann Roussel 5b2c6e26db Add support for RMTYPEDEF with Jack
Bug: 21099584
Change-Id: I39aa1f24780c216e978ef743098ca7ac65b2962e
2015-05-28 18:10:03 +02:00
Yohann Roussel f09e59eb52 [DO NOT MERGE] Compile using Jack.
This allows to compile dex targeted java sources using Jack and Jill.
Default is still to compile with the legacy toolchain. Default can be
switched to the new toolchain by setting environement variable:
export ANDROID_COMPILE_WITH_JACK=true
Toolchain can also be forced for one module by defining
LOCAL_JACK_ENABLED:=full # disabled, full, incremental
in the mk portion defining the module.

Jack execution environement can be controlled with:

Global variable ANDROID_JACK_VM allow to change the jvm executing Jack.
Global variable ANDROID_JACK_VM_ARGS allows to change default args given
to the jvm.
Global variable ANDROID_JACK_EXTRA_ARGS allows to define some default args
to give to Jack

LOCAL_JACK_VM_ARGS allows to override default args given to the jvm for
the module.
LOCAL_JACK_EXTRA_ARGS allows to override default args passed to Jack.

This includes cherry-picks of the following changes:
b4c49cba57
22c3fa6d73
138768c1bb
5dd3e1d312
83d5d04047
8bc90fd2d6
140274707e
0fbc9ff2a2
833b427d72
f9a27f45b4
2809666941
37822c443d
c6b44d43c3
d2a76c14bf
06744f60fc
95573d5036
b821391614
2794e7b582
801f2c44d0
c76d99dca1
f528e132d6
76a5e0bd1a
e25b3984ff Partially, only Jack related parts werekept
ec46a3b71f
abee3a9f41
77cbe10fd9
daf07db4cd
b6bfb5893a

Ie all Jack related changes untill
b6bfb5893a
except
a96cc59ab5 "Use Jack by default"

Change-Id: If9d47ef1c4fd1e6765ad2a47d816c1ad3cfab0e3
2015-05-19 18:31:05 +02:00
Ying Wang 90598cb70c Cleaned the outdated incrementaljavac.
Nobody is using this feature and now we switched to jack.

Change-Id: I749b486eb347cbf3ee7b107565fc800eeb238c44
2015-05-08 13:27:25 -07:00
Ying Wang 884738e4a6 Revert "Fix and cleanup."
This reverts commit f28bad5227.

Change-Id: Ib64936457a1236fabbe7c6b9c56f52ef650342e7
2015-05-08 18:51:00 +00:00
Ying Wang f28bad5227 Fix and cleanup.
- Detect java-source-list before transforming to java-source-list-uniq.
  This fixes non-fatal errors in build log like:
  /bin/bash:
  out/target/common/obj/APPS/android.core.tests.libcore.package.tzdata_intermediates/classes/java-source-list:
  No such file or directory
- Cleaned the outdated incrementaljavac. Nobody is using this feature
  and now we switched to jack.

Change-Id: If1adb9b5820d9b295a11984c0f170f9a7ff4de7b
2015-05-07 16:53:13 -07:00
Ying Wang 97dfa3177d Revert "Don't extract jni from prebuilt apks."
This reverts commit 3797466fbd.

Bug: 20810492
Bug: 20811499
Change-Id: Ic922d9daccc4550db489c0f3d4ad6b4ff85b5e60
2015-05-04 18:39:46 +00:00
Ying Wang 3797466fbd Don't extract jni from prebuilt apks.
- We don't need LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES now, for we always
  page-align jni shared libraries and store them umcompressed.
- For prebuilt apks, we don't extract jni any more; Instead we always run
  uncompress-shared-libs on them.
- For apks built from source, we still install the jni separately, because
  that way multiple apks can share the same jni and it saves space.

With this change, for most prebuilt apks, we don't need to specify
LOCAL_PREBUILT_JNI_LIBS ("@lib/<abi>/foo.so") any more, for the build
system automatically replaces the embedded jni with uncompressed files;
But if a prebuilt is a fat apk (i.e. containing jni not needed by the
current product architecture), you still need LOCAL_PREBUILT_JNI_LIBS to
specify what jni to keep. Otherwise all embedded jni will be replaced with
uncompressed files, that wastes space.

Bug: 8076853
Change-Id: Icf07e0998ac3602e6e05e80fed836fbafca33e01
2015-05-01 16:09:58 -07:00
Dmitriy Ivanov be55caf288 am 6f2935dc: am dabf96ab: am c84b3a78: am 648f1b66: Merge "Pack relocation tables for dynamic executables"
* commit '6f2935dc1432a38e149498b6efbd43ed9aceb827':
  Pack relocation tables for dynamic executables
2015-04-23 23:16:36 +00:00
Dmitriy Ivanov 4c2d1a64fb Pack relocation tables for dynamic executables
Add replocation-packer step for dynmic executables.

  Enable it by default for arm and arm64 platforms.

Bug: http://b/18051137
Change-Id: I0c88fd31595bcea62a087f219acb9ecf9c80f2e5
2015-04-23 12:07:16 -07:00
Dimitry Ivanov bc83d0bb68 am 893ed24d: am 387a9fee: am 941d61de: am 1ff47c7f: Merge "Revert "Pack relocation tables for all dynamic executables""
* commit '893ed24dd7cec9b560fe46862b3635efa327ec65':
  Revert "Pack relocation tables for all dynamic executables"
2015-04-23 05:07:11 +00:00
Dimitry Ivanov 1eca10fa9d Revert "Pack relocation tables for all dynamic executables"
This reverts commit e7a1b8a0c6.

Change-Id: I1a2185e1c68d364941e3b3e525a8c4a7a42e0cc1
2015-04-23 04:22:33 +00:00
Dmitriy Ivanov 943381b7df am ff084258: am b7b27621: am 64119a7f: am ec6a9773: Merge "Pack relocation tables for all dynamic executables"
* commit 'ff084258ea53c414d724ba87f89c324056def1bd':
  Pack relocation tables for all dynamic executables
2015-04-23 03:42:44 +00:00
Dmitriy Ivanov e7a1b8a0c6 Pack relocation tables for all dynamic executables
Bug: http://b/18051137
Change-Id: I277277d5f5eb450ef9b4a23cfec16d75d977eb89
2015-04-22 13:30:43 -07:00
Nick Kralevich e128152c4c am ebe3f7a5: am 700265ce: am 69b20474: Merge "Support LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES for prebuilt APKs"
* commit 'ebe3f7a59878d797f8f0de234f251958fee1c5af':
  Support LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES for prebuilt APKs
2015-04-18 01:33:09 +00:00
Nick Kralevich 5aa0223c6a Support LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES for prebuilt APKs
If a prebuilt APK contains shared libraries and the flag
LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES := true is set, then
uncompress any shared libraries stored within the APK.
This allows processes to load the shared library directly from
the APK.

Bug: 20247329
Bug: 8076853
Bug: 1162500
Change-Id: Iac4db32457d9ce31eb7256410023819b44fda0a6
2015-04-17 16:53:15 -07:00
Dmitriy Ivanov cc39abfdd2 am a6c44859: am bc671bc6: am e3aa1c1f: Merge "Remove LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS"
* commit 'a6c44859c5344d489526641ce5a08598254da57b':
  Remove LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS
2015-04-17 19:42:55 +00:00
Dmitriy Ivanov 8f9487431c Remove LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS
Use LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES instead.

Change-Id: Id30529fbc1652d066e0008813352848b5e404ab9
2015-04-17 11:39:04 -07:00
Ying Wang aaf9a5b0cc Remove ancient ranlib workaround on Mac OS X.
Apparently we don't need it for Mac OS X 10.7 and above.

Change-Id: I5ee81700c16e8c66b2d5f2b373fd2d523b5ec018
2015-04-09 10:06:33 -07:00
Ying Wang 4972d195dd Remove ancient ranlib workaround on Mac OS X.
Apparently we don't need it for Mac OS X 10.7 and above.

Change-Id: I5ee81700c16e8c66b2d5f2b373fd2d523b5ec018
2015-04-09 09:45:39 -07:00
Ying Wang d9509e970c resolved conflicts for merge of 133415d5 to master
Change-Id: Iba6c1dd40e7a4c8058e7100f03296c8f72a2c949
2015-04-08 18:08:46 -07:00
Ying Wang c45a47b5f3 Better way to package up the otatools-package.
With this, you can easily add more executables, jars or shared libraries
to the package. Also now it automatically takes care of
32-bit-v.s.-64-bit library issue.

Change-Id: I5afe00fadc978d0da229b192eca1a4b1c149764e
2015-04-08 12:40:37 -07:00
Ying Wang faeb693174 Consolidate the nanopb-c and regular protobuf build rules.
Bug: 20093047
Change-Id: I38ebd748aacce6d215403da481ad04833810a995
2015-04-07 12:49:50 -07:00
Ying Wang 11e923a0e5 am ea517854: am aacc8bb4: am 18ecae31: Merge "Convert bc depfiles to .P files."
* commit 'ea5178545bf939fb65f77cd54eba9f274512638b':
  Convert bc depfiles to .P files.
2015-04-04 01:49:47 +00:00