Commit Graph

674 Commits

Author SHA1 Message Date
Shinichiro Hamaji 4d69fbf5be Merge "Add Bison binary and its data to prerequisite" 2016-04-07 03:48:31 +00:00
Shinichiro Hamaji a3184dc2ae Fix dependencies of protoc with nanopb-c plugin
Bug: 27954979
Change-Id: Ic06b5288b092d8ea5225516069845bfc2ffa9cd1
2016-04-06 13:54:03 +09:00
Shinichiro Hamaji b708bc5533 Add Bison binary and its data to prerequisite
Bug: 27954979
Change-Id: Id68425ef85c07b9bd06d9640f4bf96270af1b893
2016-04-06 13:46:02 +09:00
Mohamad Ayyash 5c30f5b4bb Merge "Always build squashfs host tools" am: ce30869
am: c7f86d7

* commit 'c7f86d7fdacfd8f97729114c7ea4887519c20111':
  Always build squashfs host tools

Change-Id: I820fdf1e50f1c745248c3dcf1a4771c137eff9c5
2016-04-04 19:52:26 +00:00
Mohamad Ayyash 95fe0025c1 Always build squashfs host tools
Now that mac compatibility has been fixed

BUG: 27657762
Change-Id: I49933ccedf74b9d172967dad721971a752047da6
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2016-04-04 12:33:24 -07:00
Mohamad Ayyash 5d65020e44 Always build squashfs host tools
Now that mac compatibility has been fixed

BUG: 27657762
Change-Id: I49933ccedf74b9d172967dad721971a752047da6
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2016-04-04 12:31:41 -07:00
Miao Wang 5d4d1d8ebb Merge "[RenderScript] Update the build rules for x86_64 support lib." 2016-04-01 20:22:41 +00:00
Miao Wang 1c46869386 Merge "[RenderScript] Update the build rules for x86_64 support lib." into nyc-dev
am: a529ceb

* commit 'a529cebde857380adec4d14d4779b405666f7599':
  [RenderScript] Update the build rules for x86_64 support lib.

Change-Id: Id7f375df86af08cc9b273d445e1fe9bc97885973
2016-03-31 22:37:29 +00:00
Miao Wang 4121aa9bb8 [RenderScript] Update the build rules for x86_64 support lib.
Bug: 19735423

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

Change-Id: I2859bee066a9eb100828d90da8adf0f9817d77e6
(cherry picked from commit 57ef7ea490)
2016-03-31 15:26:24 -07:00
Miao Wang 57ef7ea490 [RenderScript] Update the build rules for x86_64 support lib.
Bug: 19735423

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

Change-Id: I2859bee066a9eb100828d90da8adf0f9817d77e6
2016-03-31 14:05:33 -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 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 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
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
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
David Zeuthen 1b61e038e6 Merge "Add support for Brillo Verified Boot."
am: 003bec4

* commit '003bec431cc133134bbb29040f6c01d3f608e6ee':
  Add support for Brillo Verified Boot.
2016-03-21 15:55:23 +00:00
David Zeuthen d995f4b04d Add support for Brillo Verified Boot.
The following variables are introduced

 BOARD_BVB_ENABLE: can be set to true to build boot.img and system.img
 files compatible with Brillo Verfied Boot.

 BOARD_BVB_ROLLBACK_INDEX: can be set to an integer to use for the
 rollback index.

 BOARD_BVB_KEY_PATH, BOARD_BVB_ALGORITHM: If set, the former must be a
 path to the private key used to sign the boot image and the latter must
 be the algorithm to use. If unset, a test-key stored in the tree will
 be used.

 BOARD_BVB_MAKE_BOOT_IMAGE_ARGS: Extra options to pass to 'bvbtool
 make_boot_image'.

 BOARD_BVB_SIGN_BOOT_IMAGE_ARGS: Extra options to pass to 'bvbtool
 sign_boot_image'.

 BOARD_BVB_ADD_IMAGE_HASHES_ARGS: Extra options to pass to 'bvbtool
 add_image_hashes'.

 BOARD_CUSTOM_BVBTOOL: Can be set to specify what bvbtool program to
 use.

The existing BOARD_KERNEL_CMDLINE variable is also used, as are existing
kernel and initrd-related variables. Therefore, simply adding

 BOARD_BVB_ENABLE := true

to an existing Makefile should do the trick.

Bug: 26185038
TEST=Added 'BOARD_BVB_ENABLE := true' to hardware/bsp/intel/soc/edison/soc.mk
  and built an image and then ran bvbtool's info_boot_image and
  info_image_hashes commands on the resulting boot.img and system.img
  files and verified that the information was correct. Also ran 'm dist'
  and verified that the boot.img and system.img files in the resulting
  target_files.zip file had similar information.

Change-Id: I08045ed8b0cbddc7c3acdd3a6f2c4bb75cb44bbc
2016-03-18 15:25:43 -04:00
Yohann Roussel 29b1afee9e Remove JILL, JACK_JAR and JILL_JAR
Also ensure that sdk.atree can find jack.jar and jill.jar from prebuilt.

Bug: 27372042

(cherry picked from commit 233584bb80)

Change-Id: Ie266104e51c09fa21ccb09c1f27ad7068472965c
2016-03-18 11:38:05 +01:00
Yohann Roussel 0ee9995724 resolve merge conflicts of c8cfac9 to nyc-dev-plus-aosp
Change-Id: I77317dcaaa4154d6649b36b215df1474721a6503
2016-03-18 10:12:27 +01:00
Yohann Roussel 233584bb80 Remove JILL, JACK_JAR and JILL_JAR
Also ensure that sdk.atree can find jack.jar and jill.jar from prebuilt.

Bug: 27372042
Change-Id: Ie266104e51c09fa21ccb09c1f27ad7068472965c
2016-03-17 15:21:28 +01:00
Ying Wang c9a19779a2 resolve merge conflicts of fc16dca602 to nyc-dev-plus-aosp
Now we can remove all uses of $(ACP) in prebuilt_internal.mk.

Change-Id: I07a449f3acca9b56c6a387ff8ca1535d19c872d1
2016-03-15 14:46:12 -07:00
Yohann Roussel 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 b5ea85a903 Revert "Remove one debug line"
This reverts commit d2fafe5734.

Change-Id: I8915604faafb21cf15c0f11ee8a770be2cfc9614
2016-03-15 14:51:28 +00:00
Yohann Roussel d2fafe5734 Remove one debug line
Change-Id: I6de104dd2ca42404d45f3f4b91ccadd03d391f1c
2016-03-15 11:06:51 +01: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
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 544bff0f3f Merge "Use hermetic ckati/makeparallel prebuilts"
am: b8744a26e4

* commit 'b8744a26e45d269c8fdad98d56c5df45984a6d5d':
  Use hermetic ckati/makeparallel prebuilts
2016-03-10 07:28:56 +00:00
Dan Willemsen 1487f31d83 Use hermetic ckati/makeparallel prebuilts
Currently, we're building against the native host version of libc++ and
other headers. Instead, use prebuilts of ckati/makeparallel built with
Soong against the included libc++ and sysroot. Building ckati /
makeparallel doesn't work well in unbundled branches that don't have all
of the libc++ dependencies to do successful host builds.

KATI is default variable defined when running under Kati, don't use it
for other purposes. Use CKATI instead.

Bug: 27533820
Change-Id: I82d66f5e34e3341a3cee4c5c83cd1d9a54d057ff
2016-03-09 17:19:30 -08:00
Mohamad Ayyash 2b4ddff0eb Merge "Hook incremental ext4 image generation into build" into nyc-dev
am: 6a3185f23d

* commit '6a3185f23d820f31cc928d5467eda94f3a93e31c':
  Hook incremental ext4 image generation into build
2016-03-09 21:07:30 +00:00
Mohamad Ayyash 6a3185f23d Merge "Hook incremental ext4 image generation into build" into nyc-dev 2016-03-09 20:56:19 +00:00
Martin Blumenstingl 639cd5b486 Merge "Removed duplicate definition of E2FSCK" am: d7a4e56a87
am: 7b578cbf10

* commit '7b578cbf10aab7460a0cc4e5735870a714ddac1b':
  Removed duplicate definition of E2FSCK
2016-03-08 07:45:51 +00:00
Martin Blumenstingl 764f9339f1 Removed duplicate definition of E2FSCK
Change-Id: I810711ad05e198ee1f9606c37649e80df7b55fa5
2016-03-06 22:38:19 +01:00
Mohamad Ayyash f876555893 Hook incremental ext4 image generation into build
Allows passing the *.base_fs or *.map files for system and vendor in
INTERNAL_SYSTEM_BASE_FS_PATH and INTERNAL_VENDOR_BASE_FS_PATH variables
respectively.

Internal Design Doc: go/incremental-ext4
BUG: 26839493
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>

Change-Id: Ie57ef6dbfa6084268b6535fe0a673a3b4aaa6e2f
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2016-03-03 12:07:21 -08:00
Dan Willemsen 76dcd72575 Merge "Remove unused config variables" am: 1dde47d0b6
am: 4914c9b28e

* commit '4914c9b28ede89c2441bb0b87f358e4e629b1bb9':
  Remove unused config variables
2016-03-01 19:46:57 +00:00
Dan Willemsen d4390d3007 Remove unused config variables
These either don't exist or are not used.

Change-Id: I219e4691337223357797fae47ce112df8428bdfa
2016-03-01 01:14:03 -08:00
Chih-Hung Hsieh 71d8cbd9b6 Use newest clang static analyzers.
* When WITH_STATIC_ANALYZER is set and non-zero, and clang compiler is used,
  call new clang ccc-analyzer or c++-analyzer.
* Otherwise, if WITH_SYNTAX_CHECK is set and non-zero,
  call compiler with -fsyntax-only.
* Replace "--sysroot=path" with "--sysroot path", to work with ccc-analyzer.
* ccc-analyzer executes the original compilation command to generate
  object files before calling clang with --analyze to do static analysis.
* When clang is called with --analyze, macro __clang_analyzer__ is defined.

BUG: 13287788

(cherry picked from commit 765c1ea6d7)

Change-Id: I6e51e51ff4ed3ce514f60d090494dcdf6e520b04
2016-02-26 18:51:26 -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
Chih-hung Hsieh 2fd8d9da17 Merge "Use newest clang static analyzers."
am: 82953d72ac

* commit '82953d72acc9775d6b58808abde1a825b4f7cffb':
  Use newest clang static analyzers.
2016-02-12 17:41:34 +00:00
Chih-Hung Hsieh 765c1ea6d7 Use newest clang static analyzers.
* When WITH_STATIC_ANALYZER is set and non-zero, and clang compiler is used,
  call new clang ccc-analyzer or c++-analyzer.
* Otherwise, if WITH_SYNTAX_CHECK is set and non-zero,
  call compiler with -fsyntax-only.
* Replace "--sysroot=path" with "--sysroot path", to work with ccc-analyzer.
* ccc-analyzer executes the original compilation command to generate
  object files before calling clang with --analyze to do static analysis.
* When clang is called with --analyze, macro __clang_analyzer__ is defined.

BUG: 13287788

Change-Id: I5edb25b52998d871385dd000778db2ce83224078
2016-02-11 16:43:51 -08: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 8c4f25f12f Merge "Add 64-bit windows cross-compiles" 2016-02-09 20:54:10 +00:00
Dan Willemsen 3714f7876c Merge "Disable java when JAVA_NOT_REQUIRED is set"
am: 74606c40cd

* commit '74606c40cdf0552c58b07b1477e79690e6037930':
  Disable java when JAVA_NOT_REQUIRED is set
2016-02-09 05:26:08 +00:00
Dan Willemsen fdf89cd575 Disable java when JAVA_NOT_REQUIRED is set
Change-Id: Id3056cde93302be20000bf7af33aeed0fa8fdf52
2016-02-08 17:02:48 -08: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
Colin Cross 4b7cd7f43e Merge "Move PDK selection into config.mk" am: 655dd3ea76
am: 3f238d8cda

* commit '3f238d8cda78990a90509206ccd60db7a2f0945a':
  Move PDK selection into config.mk
2016-02-02 20:40:49 +00:00
Colin Cross 655dd3ea76 Merge "Move PDK selection into config.mk" 2016-02-02 20:34:30 +00:00
Colin Cross 6b66fcf378 Move PDK selection into config.mk
config.mk needs to know TARGET_BUILD_PDK in order to select prebuilt
tools.  Move the selection of TARGET_BUILD_PDK into config.mk.

Change-Id: I1f73c92917887f27259b2db64b3779a2fe0df162
2016-02-01 18:05:07 -08:00
Colin Cross 715172fa26 Merge "Don\'t force color diagnostics outside of ninja" am: 41fed8c082
am: 01394871fd

* commit '01394871fdbc25316a87edca4a09b1075707e572':
  Don't force color diagnostics outside of ninja
2016-02-01 19:40:11 +00:00
Colin Cross 41fed8c082 Merge "Don't force color diagnostics outside of ninja" 2016-02-01 18:57:50 +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
Colin Cross 1398f9d30d Merge "Set flag when using sdk tools in place" am: 41ee5fc07a
am: 11a87113ef

* commit '11a87113ef232c4f615a4c8df74dc28da17bec1e':
  Set flag when using sdk tools in place
2016-01-22 00:16:17 +00:00
Colin Cross d3f3ab77fd Set flag when using sdk tools in place
New version of build/ execute the tools from prebuilts/sdk/tools in
place, old versions copy them to $(HOST_OUT_EXECUTABLES).  build/ and
prebuilts/sdk often use mixed versions, set a flag that
prebuilts/sdk/tools/Android.mk can use to determine when it is using an
old build/ directory.

Change-Id: Iad2f96c35203fd3b0976946d229bfa8ab4acb150
2016-01-20 16:08:49 -08:00
Michael Wright 9dca07efdc Only fail on known-bad grep configurations.
Rather than exit when any grep configuration is set, only fail on ones we know
to be bad. This lets people use benign configuration options such as
--color=auto and --directories=skip.

Bug: 21260618
Change-Id: I3641c7895df4b43e36a983ea6ad877969cd38bf5
2016-01-18 18:13:03 -08:00
Dan Willemsen 543623c2b6 Merge "Add -Werror=date-time to target builds" am: 5c3f812507
am: 9f41040b00

* commit '9f41040b000bf2ea98b70eea6f60a41385d55fe3':
  Add -Werror=date-time to target builds
2016-01-16 20:18:54 +00:00
Dan Willemsen 5c3f812507 Merge "Add -Werror=date-time to target builds" 2016-01-16 20:13:30 +00:00
Colin Cross dbd43849fb Don't force color diagnostics outside of ninja
Building with USE_NINJA=false and piping build output to a file will
result in ANSI color codes in the build output.  Only force ANSI codes
on when building with ninja, which strips the ANSI codes when writing
build output to a non-TTY.

Change-Id: Ifd2fb53799fd99c23b7ad91cdb84d943bf707db0
2016-01-13 14:05:54 -08: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
Dan Willemsen eff0611096 Add -Werror=date-time to target builds
The lack of a changing timestamp improves reproducibility of builds, and
helps create smaller OTAs.

Bug: 24204119
Change-Id: I68acfb53be962ffd5c488337517dadb950a13b6f
2016-01-08 16:29:50 -08:00
Shinichiro Hamaji 91bb1b61f8 Merge "Have symbol versions in .so.toc files" am: c610c42b99
am: bb1207f99c

* commit 'bb1207f99c392d0abc3739475a14e3075215ceca':
  Have symbol versions in .so.toc files
2016-01-07 05:23:34 +00:00
Shinichiro Hamaji 2b0caa3a67 Have symbol versions in .so.toc files
Use readelf --dyn-syms instead of nm, filtering out addresses
and sizes of symbols.

Bug: 26412928
Change-Id: I061ffb428076a79c7b255381ae4d4f8a8e7a4bd7
2016-01-06 15:13:25 +09:00
Dan Willemsen 84d7513417 Merge "Prevent changes to COMMON_GLOBAL_C(PP)FLAGS" am: d443abf1aa
am: c4ba49dbec

* commit 'c4ba49dbecfcba5db1976cf52447aaa927741a76':
  Prevent changes to COMMON_GLOBAL_C(PP)FLAGS
2016-01-05 05:53:50 +00:00
Dan Willemsen d443abf1aa Merge "Prevent changes to COMMON_GLOBAL_C(PP)FLAGS" 2016-01-05 05:47:43 +00:00
Piotr Jastrzebski 052a00f64e Use core-oj alongside core-libart wherever required.
With some core classes moved to separate core-oj jar
we need to use the new jar.

(cherry picked from commit 89b94c827f)

Change-Id: I025c0adc70535bf23def3ab0ce28a1bfaef72514
2015-12-24 10:10:55 +00:00
Dan Willemsen 93b8a1294c Prevent changes to COMMON_GLOBAL_C(PP)FLAGS
Reorder the definitions of the core cflags so that we can prevent device
configurations from changing the global C(PP)FLAGS.

There is no reason for devices to be configuring the global cflags -- if
something needs to change for a particular device, that flag should be
defined in the BoardConfig.mk, then used in the individual makefiles
where it is needed. The common global flags also affected host tools,
which should not change between device configurations.

Bug: 26165350
Change-Id: Icece4505ce3d2a9168087d802953378534018d47
2015-12-18 12:57:57 -08:00
Dan Willemsen c915b13a9c Merge "Define __BRILLO__ only for target modules" am: e63d3328df
am: 05177f7cb1

* commit '05177f7cb1e98b23a0c4b8899ba636ef7228e62b':
  Define __BRILLO__ only for target modules
2015-12-16 23:44:55 +00:00
Dan Willemsen 5e637bd05d Merge "Move __BRILLO__ to the core build system" am: 3931873418
am: 152755aa81

* commit '152755aa81354c7c931cb77c71ba3757a40a0cb6':
  Move __BRILLO__ to the core build system
2015-12-16 23:44:49 +00:00
Dan Willemsen de6494b9ae Define __BRILLO__ only for target modules
__ANDROID__ is only defined for target modules, do the same for
__BRILLO__.

Change-Id: Ie1417e1a5b21c051acf05b2bd3bdb3ddd31be878
2015-12-16 15:04:51 -08:00
Dan Willemsen 16e7e0f556 Move __BRILLO__ to the core build system
In preparation for locking down COMMON_GLOBAL_CFLAGS.

Bug: 26165350
Change-Id: Ifdfb7808c1e1b624ffb0f99ab443ec2c5503a81c
2015-12-16 14:28:21 -08: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
Colin Cross 7eae1599e2 Merge "Remove extra definition of AIDL" am: 77f411e116 am: b275dd1623
am: 934e131465

* commit '934e1314658b30aa8ca22766a3404ff6955d4ece':
  Remove extra definition of AIDL
2015-12-04 17:16:34 +00:00
Colin Cross a8b896856a Remove extra definition of AIDL
AIDL is defined in the sometimes-prebuilt tools section, remove the
extra definition that was overriding it.

Change-Id: I677bf46475fd5fd4a9258c77d91ecee806e5f205
2015-12-03 13:33:11 -08:00
Colin Cross 0559943edb Merge "Use prebuilt tools in place" am: 50e0646dbe am: 8581e58b3b
am: 64747f5101

* commit '64747f5101f3a4f2385faa493643a513bd67a557':
  Use prebuilt tools in place
2015-12-03 20:24:30 +00:00
Colin Cross d2163bac6b Merge "Provide path to mainDexClasses" am: 62e99632c6 am: 4e7bf63314
am: 7e68aa8251

* commit '7e68aa8251afde9f885b7961aff5bbbabe840031':
  Provide path to mainDexClasses
2015-12-03 01:22:29 +00:00
Colin Cross fd08247bcf Use prebuilt tools in place
Don't install the prebuilt SDK tools for TARGET_BUILD_APPS builds, just
execute them in place.  Avoids issues with duplicate rules for the
prebuilts and source modules when building with TARGET_BUILD_APPS in a
full platform tree.

Change-Id: I3cdb4f1a8208e8750310a5cc6130657613b683d1
2015-12-02 17:12:38 -08:00
Colin Cross f87e971606 Provide path to mainDexClasses
Set MAINDEXCLASSES to the path to mainDexClasses.

Change-Id: I82532e8ea8dc7349178347e080fa0c63078ca9f5
2015-12-02 16:25:49 -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 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
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
Michael Wright 0fb087fc73 Add new Test API for CTS testing.
Bug: 25608286
Change-Id: I0334061b548970959e46392dc3a1feed8533548c
2015-11-25 11:38:44 +00:00
Piotr Jastrzebski 89b94c827f Use core-oj alongside core-libart wherever required.
With some core classes moved to separate core-oj jar
we need to use the new jar.

Change-Id: Ie069c7a93e63b1df854b3137d984b96520562609
2015-11-20 13:53:22 +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
Shinichiro Hamaji 93ee2b5869 Merge "Allow missing SONAME in .toc files" am: 457345e58c am: 7070e5dc59
am: ad397422b4

* commit 'ad397422b4da3f5faff4e2ca69d4596b97e4bd61':
  Allow missing SONAME in .toc files
2015-11-05 04:11:52 +00:00
Shinichiro Hamaji f0972f7966 Allow missing SONAME in .toc files
At least one shared object in internal repo doesn't have
SONAME entry in its dynamic segment because it is created by
objcopy instead of a linker.

Change-Id: If7106da022ff1e4e925191402f9072795dc3ddcb
2015-11-05 12:51:08 +09:00
Shinichiro Hamaji 4f23722dd9 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries" am: 2f8ffa61be am: 7557ad2bbd
am: 506c43c871

* commit '506c43c87193433533245150673f5d386aa10953':
  Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries
2015-11-05 01:33:46 +00: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 a1b3290c0b Merge "Don\'t use ziptime with unbundled builds" am: 29a6675983 am: 3665246dcb
am: 8ccf645f94

* commit '8ccf645f94c0b21c6407576df0ba0990d96167b1':
  Don't use ziptime with unbundled builds
2015-11-04 00:47:24 +00: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 641e8888fa Merge "Remove changing uids/timestamps from zip/jar files" am: a0975edc16
am: c789be850c

* commit 'c789be850ca14b945e72412457991d7a5e13126e':
  Remove changing uids/timestamps from zip/jar files
2015-11-03 23:43:30 +00:00
Dan Willemsen a0975edc16 Merge "Remove changing uids/timestamps from zip/jar files" 2015-11-03 21:38:45 +00:00
Ying Wang f0b5cd2de6 Merge "Don\'t check the host JDK tools when build/core/config.mk is called from envsetup.sh." am: a63d379aab am: fb89fd36b2
am: 88f5d25be1

* commit '88f5d25be1b0756db65b34114929b4dd0bc5f05c':
  Don't check the host JDK tools when build/core/config.mk is called from envsetup.sh.
2015-11-03 00:49:23 +00:00
Ying Wang 7fcd2f9086 Don't check the host JDK tools when build/core/config.mk is called from envsetup.sh.
Envsetup.sh (lunch) relies on config.mk to get build varaible values; while
config.mk may rely on envsetup.sh to set up JAVA_HOME/PATH.
Without this change config.mk may be checking the host JDK tools before
JAVA_HOME/PATH get set up.

Change-Id: I1e6b5e33147258832ce2f0a425f9526ef4782c43
2015-11-02 16:00:47 -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
Ying Wang 471bf958cd Merge "Normalize the product makefile path in inherit-product." am: aabff90bfe am: 3482ea54a2
am: 4f5e8cc3ca

* commit '4f5e8cc3ca6da83f11bf42d04f1a57b9af16a582':
  Normalize the product makefile path in inherit-product.
2015-10-29 00:02:58 +00:00
Ying Wang a174261042 Normalize the product makefile path in inherit-product.
Some vendor product makefiles call $(inherit-product) on the same
product makefile with different paths, by using "../" in relative paths.
However inherit-product requires unique path as ID for a product
makefile, for bookkeeping purpose.
Normalize the product makefile path in inherit-product, if the path
contains "../".

Change-Id: I1a864ce120c713d8e79ec179213b9fc9352aba53
2015-10-28 15:20:41 -07:00
Colin Cross a9373f8e24 Merge "Error out early on nonstandard JDK directory layouts" am: 506113d267 am: e95cf75293
am: 1ac51c013e

* commit '1ac51c013e134c7a22580f9020e3b89851153a7e':
  Error out early on nonstandard JDK directory layouts
2015-10-27 23:27:47 +00:00
Colin Cross 506113d267 Merge "Error out early on nonstandard JDK directory layouts" 2015-10-27 19:12:40 +00:00
Colin Cross 112753ca55 Error out early on nonstandard JDK directory layouts
On Darwin, javac may be located in a nonstandard directory layout such as:
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac
The sed command to replace bin/javac with lib/tools.jar would fail to
match, resulting in the HOST_JDK_TOOLS_JAR being set to the javac path.
Since javac exists, the checks for missing tools.jar would all pass, and
javac would be added to the classpath instead of tools.jar, and causing
hard to debug errors about missing com.sun.javadoc when building doclava.

Change the sed command to replace /javac$, which should always be found,
with /../lib/tools.jar.

Change-Id: I5072f04636a5c14b3aeaa3a5cc3b366feae89c37
2015-10-23 19:00:43 -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
Ying Wang 2af4d1ad2c 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-22 16:35:10 -07: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
Andreas Gampe 36047501aa Merge "Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting" am: 6c45f4493e am: 3c131856ee
am: 92a73a0f6c

* commit '92a73a0f6c0c768d4bc612106e0c6ddcb7fb2846':
  Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting
2015-10-20 23:59:45 +00:00
Dan Willemsen 7be79bfa64 Merge "Stop encoding absolute paths in symbols" am: 9f576acde6 am: b93e8250d7
am: 05af959fbe

* commit '05af959fbe4846ed5df4d74bd838042a8db9a818':
  Stop encoding absolute paths in symbols
2015-10-20 23:59:05 +00:00
Andreas Gampe 6c45f4493e Merge "Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting" 2015-10-20 23:37:36 +00:00
Dan Willemsen 9f576acde6 Merge "Stop encoding absolute paths in symbols" 2015-10-20 20:46:21 +00:00
Christopher Wiley 597f384fb3 Merge "Invoke the aidl-cpp compiler to generate C++" am: ba39c5690a am: 487cc7beaf
am: 9c694a6242

* commit '9c694a6242a969e27fbd4f043fa7f43ef301b461':
  Invoke the aidl-cpp compiler to generate C++
2015-10-20 20:14:50 +00:00
Andreas Gampe 847b00bf1b Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting
The secondary variant fallback was not set. The build system expects
the variants, so system properties were malformed for x86-64:

  [dalvik.vm.isa.x86.variant]: [dalvik.vm.isa.x86.features=default]

Bug: 24989387
Change-Id: Idbf54f81494f2650ad56080305807fd6b7ed4161
2015-10-19 18:21:18 -07: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
Sami Tolvanen a749f91191 am 6a14ba31: am 58a748d3: am 87f58261: Merge "Error correction: Append codes to verified partitions"
* commit '6a14ba317cea22f16db3bb76cb818fd7322b8253':
  Error correction: Append codes to verified partitions
2015-10-19 10:07:21 +00: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
Sami Tolvanen f99b53143d Error correction: Append codes to verified partitions
Append error-correcting codes to verified partitions provided that
PRODUCT_SUPPORTS_VERITY_FEC is true.

This moves verity metadata to be after the hash tree, and requires
matching changes from
  Ide48f581bbba77aed6132f77b309db71630d81ed

Bug: 21893453
Change-Id: I6945cbab99e214566a1f9d3702333f2dbbc35816
2015-10-14 18:06:20 +01:00
Yohann Roussel b68c9a498d 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

Change-Id: Ie8120c97e0fa10953d4d015afd27aacfac80e5b6
2015-10-14 11:32:45 +02:00
Colin Cross 27800cb109 am acf00a8c: am d98fe91a: am 6b02b76a: Merge "Fix gcc color diagnostics"
* commit 'acf00a8c1756f68729b2142db7cfea81a59765e1':
  Fix gcc color diagnostics
2015-10-03 00:56:43 +00:00
Colin Cross d98fe91a75 am 6b02b76a: Merge "Fix gcc color diagnostics"
* commit '6b02b76ab9ebb5c21743abc5616379d19bc1c304':
  Fix gcc color diagnostics
2015-10-03 00:43:23 +00:00
Colin Cross 12adaf5cb9 Fix gcc color diagnostics
gcc color diagnostics stopped working when the flag was moved to
TARGET_GLOBAL_CFLAGS, as that gets overwritten by combo/select.mk.  Put
it back in COMMON_GLOBAL_CFLAGS, and then let the windows build filter
it out, similar to the way clang deals with unknown flags.

Change-Id: I2db221edb893d81f199494e7515d1b9282c12fae
2015-10-02 16:42:10 -07:00
Stephen Hines 774af2fcc7 am 46eac312: am ba2355c9: resolved conflicts for 9073a5d9 to stage-aosp-master
* commit '46eac3120a7b2b317984c2f8b3c0f955706334e7':
  Fix RS NDK usage so we always pull from "current" instead of NDK 8.
2015-10-01 05:43:43 +00:00
Stephen Hines ba2355c981 resolved conflicts for 9073a5d9 to stage-aosp-master
Change-Id: I9b048cb5fe70215a67ef025e8c7ef6aad86cffb3
2015-09-30 22:32:05 -07:00
Stephen Hines d11c18a4b0 Fix RS NDK usage so we always pull from "current" instead of NDK 8.
The 8 in this definition refers to NDK release 8, not the API level 8.
Setting it to "current" is better, since it still contains the relevant
target API level (9 in our case) for using/building our RS support APIs.

Change-Id: Ib216ea859e137643fba81c39c4b9d0077ec04455
2015-09-28 18:07:21 -07:00
Colin Cross ee45420799 am ffd25c7f: am 84494473: am aaa9d8dc: Merge "Fix windows build"
* commit 'ffd25c7f1445df9d6b8c28ada7b2174c6827ddcf':
  Fix windows build
2015-09-26 00:28:02 +00:00
Colin Cross 8449447384 am aaa9d8dc: Merge "Fix windows build"
* commit 'aaa9d8dc0aba0446fb11238f2aa869ce0b33df2f':
  Fix windows build
2015-09-26 00:15:44 +00:00
Colin Cross 309b420d56 Fix windows build
The windows toolchain doesn't support color, only apply
-fdiagnostics-color to HOST and TARGET, not HOST_CROSS.

Change-Id: I17b999a2852b8d70b2d39a58befa10e2e32c4608
2015-09-25 17:00:14 -07:00
Colin Cross ad9b8f7ce7 am 6edd4cca: am ba9bc4d7: am 0d97557d: Merge "Enable color output from gcc and clang"
* commit '6edd4ccad3419c336cb5198b5353390b7a292c82':
  Enable color output from gcc and clang
2015-09-25 23:28:43 +00:00
Colin Cross ba9bc4d70f am 0d97557d: Merge "Enable color output from gcc and clang"
* commit '0d97557d3d6f56cf6dfdb7552d4f1471d56dfabe':
  Enable color output from gcc and clang
2015-09-25 23:17:02 +00:00
Colin Cross 63e3b0294f Enable color output from gcc and clang
Force gcc and clang to always output color diagnostics.  Ninja will
strip the ANSI color codes if it is not running in a terminal.

Bug: 24273983
Change-Id: Ic9252549bfacf3bbb3f4b9d20f63010fc24ac21d
2015-09-24 22:39:17 -07:00
Steve Fung 467b79fac2 am 290b6707: am f3ec8272: am fdec88c9: Merge "Generate breakpad symbols"
* commit '290b670724fd20742a258f61dc9ab798ece13bf1':
  Generate breakpad symbols
2015-09-25 00:15:00 +00:00
Steve Fung f3ec82729a am fdec88c9: Merge "Generate breakpad symbols"
* commit 'fdec88c9726687f98448ccff7670bc843f77bf66':
  Generate breakpad symbols
2015-09-25 00:03:21 +00:00
Steve Fung cb2e67fdb7 Generate breakpad symbols
When BREAKPAD_GENERATE_SYMBOLS is set to true, generate breakpad
symbols for binaries.

Bug: 23900817
Change-Id: I7b992d819350f4f80df5868d16f13016502dfca0
2015-09-24 16:49:40 -07:00
Dan Willemsen 1758c0c27d am 0d1d74e4: am 6ad76ef5: am 58350dee: Merge "Don\'t add CFLAGS to CPPFLAGS"
* commit '0d1d74e4e6a01c93528a3f89ae10ec3444d559a4':
  Don't add CFLAGS to CPPFLAGS
2015-09-24 04:17:38 +00:00
Dan Willemsen 6ad76ef571 am 58350dee: Merge "Don\'t add CFLAGS to CPPFLAGS"
* commit '58350dee77bbfadaea7bce9ee83555dba4963d92':
  Don't add CFLAGS to CPPFLAGS
2015-09-24 02:20:36 +00:00
Dan Willemsen 3ad3549519 Don't add CFLAGS to CPPFLAGS
Except for kati, we never use COMMON_GLOBAL_CPPFLAGS without also using
COMMON_GLOBAL_CFLAGS, which leads to duplicate command line entries.

Change-Id: I25d625924e9d157175a9e88bc3f15b7214cfb4ed
2015-09-23 16:23:02 -07:00
Ying Wang 9094c1d0e5 am 8767ff3b: am f695144f: am 56dca5b5: Merge "Use md5sum as the build.ninja filename suffix if the suffix gets too long."
* commit '8767ff3bb83b60af32c13b8d2407b5a7d34bf235':
  Use md5sum as the build.ninja filename suffix if the suffix gets too long.
2015-09-23 00:03:48 +00:00
Ying Wang f695144fd4 am 56dca5b5: Merge "Use md5sum as the build.ninja filename suffix if the suffix gets too long."
* commit '56dca5b5408834ff36455d8112e737e968bb6320':
  Use md5sum as the build.ninja filename suffix if the suffix gets too long.
2015-09-22 23:50:34 +00:00
Ying Wang 127da9e4aa Use md5sum as the build.ninja filename suffix if the suffix gets too long.
Use md5sum as the build.ninja filename suffix if the suffix is longer
than 64 characters. Also store the original suffix in a corresponding
.suf file for human lookup.
This fixes the "File name too long" error when kati tries to write to
build.ninja with the long original suffix.

Bug: 24302576
Change-Id: Ie04b0c14e1a9d593aa5c2a6b357b19a9e8a7158e
2015-09-22 16:16:12 -07:00
Dan Albert cb8dda5a5b am d897bc6e: am 1721cbcb: am 30b32620: Merge "Revert "Don\'t re-export libgcc symbols from every object.""
* commit 'd897bc6e10c2ddf569d79b8fda17e3490a18efe3':
  Revert "Don't re-export libgcc symbols from every object."
2015-09-21 20:00:49 +00:00
Dan Albert 1721cbcb0d am 30b32620: Merge "Revert "Don\'t re-export libgcc symbols from every object.""
* commit '30b326206ba0148da32c1419f210bd6e6890236d':
  Revert "Don't re-export libgcc symbols from every object."
2015-09-21 19:40:55 +00:00
Dan Albert 5408ff73d6 Revert "Don't re-export libgcc symbols from every object."
For some reason shamu doesn't boot after this change.

Bug: http://b/24166967

This reverts commit e92d25f296.

Change-Id: Ibd90c0fccb1fe7446f959c937963d1aa4e43c37c
2015-09-21 19:19:02 +00:00
Dan Albert 491897ba74 am 823a9c8c: am 5397ba55: am 000e1a97: Merge "Don\'t re-export libgcc symbols from every object."
* commit '823a9c8c47c8d940c00c9a2cb6a653dc67fb64a7':
  Don't re-export libgcc symbols from every object.
2015-09-18 17:45:55 +00:00
Dan Albert 5397ba5584 am 000e1a97: Merge "Don\'t re-export libgcc symbols from every object."
* commit '000e1a973ec83cb2af644ce72a46f1c026299a7d':
  Don't re-export libgcc symbols from every object.
2015-09-18 17:29:22 +00:00
Dan Albert e92d25f296 Don't re-export libgcc symbols from every object.
Target modules shouldn't re-export libgcc.a because we don't want
other binaries importing them when they should be getting their own
copy of the builtins.

Bug: http://b/24166967
Change-Id: Iaa208933885375da4a8e1b8935f76e9f3ea0647f
2015-09-17 17:18:12 -07:00
Dan Willemsen 7586773bc5 am 3cf749c7: am c98d9a9d: am f1c09d7f: Merge "Add HOST_CROSS_OS"
* commit '3cf749c78a7d97ed41b0a8f3ee3598738d6d543d':
  Add HOST_CROSS_OS
2015-09-09 18:37:20 +00:00