Commit Graph

26737 Commits

Author SHA1 Message Date
Ying Wang 6557ba5335 Merge "Remove rmtypedefs from the build system." 2016-03-25 17:29:30 +00:00
Tao Bao 20d4e10bf3 Merge "Add libbase to otatools" 2016-03-24 21:50:37 +00:00
Dan Willemsen fe09018b39 Merge "Handle symlinked OUT_DIRs (again)" 2016-03-24 20:38:08 +00:00
Ying Wang 72bc59ce8b Remove rmtypedefs from the build system.
We don't need to run rmtypedefs in javac compilation now, because the
runtime libraries are compiled by only jack, which takes care of
rmtypedefs by itself.

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

Bug: 26705771
Change-Id: I6896b9a6026a2a0dae6145d1ef5a839756aa3458
2016-03-24 11:12:16 -07:00
Johan Redestig 8f800df5f0 Add libbase to otatools
build_verity_tree uses libbase since b104044.

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

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

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

Bug: 27814973
Change-Id: I8242b037e21ba7bcf45d0fe2afc8bfc47f1ec314
2016-03-23 13:09:42 -07:00
Ying Wang 71c58092f4 Phony target $(LOCAL_MODULE) covers all multilib variants.
Bug: 27760875
Change-Id: Ie59e2c36964fa736b17fb4185563c08a8cb75b80
2016-03-23 11:02:03 -07:00
Ying Wang 37aa85e8bb Merge "Create empty .a on Darwin when there is no obj file." 2016-03-23 16:37:34 +00:00
Dan Willemsen cc60f01357 Handle symlinked OUT_DIRs (again)
My previous attempt at properly handling symlinked OUT_DIRs only worked
if the symlink was to a different directory, not one in the same
directory.

This time, make sure that both make and soong use the same
representation of the output directory by passing BUILDDIR to
bootstrap.bash. Soong has been updated to pick whether to use a relative
or absolute path back to the source tree depending on what makes sense.
If the BUILDDIR or the path back to the source tree change, re-run the
bootstrap.

Also, move the $OUT_DIR/Android.mk and $OUT_DIR/CleanSpec.mk generation
to before Kati runs. In the case that $TOP/out was symlinked to
$TOP/out.angler:

 1) Soong generates out.angler/soong/Android.mk
 2) Kati's find generator produces in-memory tree of the filesystem
 3) $(shell ) creates out.angler/Android.mk
 4) The emulated findleaves Android.mk search finds
    out.angler/soong/Android.mk since the in-memory tree is never updated.

This doesn't happen in the normal case, because we pass --prune=$OUT_DIR
to findleaves.

Change-Id: Ib0fdae2e80f75ddcf33a3c8c5ea0978f5308b437
2016-03-22 20:02:18 -07: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
Dan Albert a81e1b7fed Using stlport_static or c++_static requires libdl.
Why? For one, libgcc's unwinder makes use of `dl_iterate_phdr`. Also,
libgabi++ (the home grown C++ RT we use for stlport) uses
`dlopen` for liblog when reporting fatal errors. The LLVM unwinder
which is used by libc++ also uses libdl.

Requiring a dependency on libdl seems less objectionable than
requiring one on liblog. We could always change libgabi++ to  use
syslog instead, but that will only reach logcat for newer devices
(possibly L+, definitely M+).

Requiring libdl seems like the best option here, especially given
that libgcc needs it anyway.

Change-Id: I4acfaf38145c39fc15a76fbb282a46786e5322f1
2016-03-22 17:15:14 -07:00
Chih-hung Hsieh 6d41f7e123 Merge "Dump table of warning counts before all warnings." 2016-03-22 18:37:24 +00:00
Chih-Hung Hsieh a9be47e782 Dump table of warning counts before all warnings.
* The table of warning counts has links to each warning pattern section,
  which has a new anchor.
* Each warning pattern section has a new link to the 'top' of the table
  of warning counts.
* Background color of unknown warnings is changed to more visible light blue.

BUG: 27698849
Change-Id: Ia3d4a8511bd42f44f6a47afcb9c3889f6d62b9f2
2016-03-22 10:44:11 -07:00
Chih-hung Hsieh 52ab1bc179 Merge "Add more patterns, dump sorted unique warnings." 2016-03-22 17:33:19 +00:00
Chih-Hung Hsieh ba0ddcd099 Add more patterns, dump sorted unique warnings.
* Sort and remove duplicated warning messages.
* Recognize more warning message patterns from new clang compiler.

BUG: http://b/27698849

Change-Id: Iebbe8600353269d8c2d49ef9d97a72be1d978a24
2016-03-22 16:31:18 +00:00
Colin Cross 5b5929aa42 Merge "Remove support for device libstdc++ as stl" 2016-03-21 22:38:00 +00:00
Dan Willemsen a800b9a83a Merge "Always run Soong" 2016-03-21 21:09:40 +00:00
David Zeuthen 003bec431c Merge "Add support for Brillo Verified Boot." 2016-03-21 15:46:29 +00:00
Pirama Arumuga Nainar 6721b1d185 Merge changes from topic 'rebase_r256229'
* changes:
  Switch to clang-2690385
  Update RenderScript build rules for rebase to LLVM r256229
2016-03-18 21:54:51 +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
Ying Wang de005f0c85 Merge "Enable -Werror on zipalign" 2016-03-18 17:37:17 +00:00
Ying Wang 2c6fbca557 Enable -Werror on zipalign
And fix the last warning to enable this flag.

Bug: 27695718
Change-Id: I70eb9c87530a9b982fbe83abea706908f0ce0356
2016-03-18 10:04:07 -07:00
Yohann Roussel a978779668 Merge "Remove rules for building dex with dx" 2016-03-18 13:50:55 +00:00
Yohann Roussel c8cfac947b Merge "Remove JILL, JACK_JAR and JILL_JAR" 2016-03-18 08:54:30 +00:00
Dimitry Ivanov 5fb5fd190d Merge "Add config file listing public native libraries" 2016-03-17 22:53:58 +00:00
Ying Wang 5af0991bfc Merge "Fix compilation warning." 2016-03-17 22:44:29 +00:00
Ying Wang 0c38bc5762 Fix compilation warning.
Fix compilation warning:
" destination for this 'memcpy' call is a pointer to dynamic class
'CentralDirEntry'; vtable pointer will be overwritten"
by removing unnecessary virtual desctructor.

Bug: 27695718
Change-Id: Id3c451f82374f2232176115b7bc3291ac4275c00
2016-03-17 14:48:16 -07:00
Pirama Arumuga Nainar 760aec5fdf Switch to clang-2690385
http://b/26987366

Change-Id: I1226f24b50319e321ea538362b2f26fcd227ca39
2016-03-17 13:30:22 -07:00
Pirama Arumuga Nainar 41f4b242e3 Update RenderScript build rules for rebase to LLVM r256229
http://b/26987366

- Use clang-2690385 to build RenderScript toolchain.
- Use armv7-linux-androideabi as the triple used to build RenderScript
  runtime libraries.

Change-Id: I582e8b25bbc38b101a2e765028ed61edbce7bdc2
2016-03-17 13:30:02 -07:00
Colin Cross 50a8120f02 Remove support for device libstdc++ as stl
Prevent platform modules from linking against libstdc++ as their STL
implementation.  NDK modules may still use libstdc++.

Change-Id: I317c9bb90ca7d2e0c1f5770bbdff8075dfe3cc83
2016-03-17 13:10:56 -07:00
Sen Jiang 4e9a86fb6e Merge "Add zlib_fingerprint to target_files.zip" 2016-03-17 19:47:42 +00:00
Dimitry Ivanov 19946aef6a Add config file listing public native libraries
This file contains list of libraries that should be directly or
indirectly accessible to apps for the platform. Note that this
file is not device specific but rather device class specific.

Bug: http://b/27546414
Change-Id: Ica2e6c5cedac6e4af9bd78addaa512b2fa272d64
(cherry picked from commit 795132dccd)
2016-03-17 11:22:06 -07:00
Chih-hung Hsieh 9d5fb14b2d Merge "Link in ASAN library if my_global_santitize is set." 2016-03-17 16:26:32 +00:00
Chih-hung Hsieh b569c06036 Merge "Classify more warning patterns." 2016-03-17 16:01:27 +00: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
Chih-Hung Hsieh f8aaf60ceb Classify more warning patterns.
Some warnings are from clang static analyzer
and they do not have compiler -W flag.

BUG: 27698849
Change-Id: I3d1fc9c2d6c60100e87f8ea201d3f8314370fccd
2016-03-16 15:15:40 -07:00
Dan Willemsen b6d813ce0a Merge "Add SOONG_ALLOW_MISSING_DEPENDENCIES" 2016-03-16 20:14:27 +00:00
Yohann Roussel 1d09e1d8e2 Merge "Fix jack min sdk version for ub branches" 2016-03-16 20:00:19 +00:00
Dan Willemsen 721f9bd316 Add SOONG_ALLOW_MISSING_DEPENDENCIES
Split out Soong's missing dependency option from Unbundled_build. There
are builds other than unbundled builds that don't have a full platform
tree (AOSP llvm branch is one example).

When this is set to true, Soong will defer the error for missing
dependencies until a module is attempted to be built, instead of when
it is reading and generating the build rules. So for platform builds it
will still fail early if something is missing.

Change-Id: I56cb881ff55f5928b77cddc0d67086c3d37e43d7
2016-03-16 12:41:20 -07:00
Tao Bao fd529902f8 Merge "Revert "Revert "releasetools: Support OTAs that have OEM properties changes.""" 2016-03-16 19:14:05 +00:00
Sen Jiang 4438fd909e Add zlib_fingerprint to target_files.zip
Test: make dist on edison-userdebug
Bug: 27156099

Change-Id: I4ba9095ecc5bb1730b8d0ba2d56d20fdbff3acaa
2016-03-16 11:28:19 -07:00