Commit Graph

26873 Commits

Author SHA1 Message Date
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
Yohann Roussel 22a9e788a7 Fix jack min sdk version for ub branches
Bug: 27371864

(cherry picked from commit d6101b6786)

Change-Id: Idd926f5667fbe4275f8f1d80733b8c4471570874
2016-03-16 17:59:18 +01:00
Przemyslaw Szczepaniak 44fb6241be Merge "Add java.util.stream to whitelisted packages" 2016-03-16 15:52:57 +00:00
Yohann Roussel ab64f89bd6 Merge "Inform Jack of the min sdk" 2016-03-16 14:19:05 +00:00
Przemyslaw Szczepaniak fe606f0939 Add java.util.stream to whitelisted packages
Bug: 27692239
Change-Id: I50e671222efc415fb930e5493f1943c5b8f6a71c
2016-03-16 13:45:23 +00: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
Sen Jiang d2ca52df8c Merge "Revert "Add zlib_fingerprint to target_files.zip"" 2016-03-16 04:04:41 +00:00
Sen Jiang 040141becb Revert "Add zlib_fingerprint to target_files.zip"
This reverts commit d8c715bf34.

Change-Id: Ie0c3c5b2db89fe076d678b67f013c20e836d825f
2016-03-16 03:38:29 +00:00
Sen Jiang 65aa976153 Merge "Add zlib_fingerprint to target_files.zip" 2016-03-16 02:59:36 +00: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 c26ec724b8 Merge "Replace last -includes by .KATI_DEPFILE" 2016-03-15 23:00:11 +00: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
Tao Bao 3e30d97dde Revert "Revert "releasetools: Support OTAs that have OEM properties changes.""
This CL fixes the bug in [1] (copy-paste error) and reenables it.

We need to handle a special case that an OTA goes from a source build
without OEM properties to a target build with those properties (or vice
versa). Add support in OTA scripts to deal the case properly, by a)
using two oem_props variables to handle source and target builds
respectively; b) adjusting the fingerprint/thumbprint assertions to
allow a mix of both.

[1] commit c086370440

Change-Id: I98118d77d5a0ff694fa1ee33602b5ee5e048599b
2016-03-15 13:28:49 -07:00
Tao Bao 3c37889299 Merge "Revert "releasetools: Support OTAs that have OEM properties changes."" 2016-03-15 19:16:33 +00:00
Tao Bao 838c68fa1a Revert "releasetools: Support OTAs that have OEM properties changes."
Broke some builds.

This reverts commit c086370440.

Change-Id: If07006db412fea6c04f8698776a2ab418125a469
2016-03-15 19:16:18 +00:00
Tao Bao 61cebe79f4 Merge "releasetools: Support OTAs that have OEM properties changes." 2016-03-15 18:33:20 +00:00