Commit Graph

22000 Commits

Author SHA1 Message Date
Dan Albert 000e1a973e Merge "Don't re-export libgcc symbols from every object." 2015-09-18 17:21:13 +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
Scott James Remnant 909fe8e0f7 Merge "build: support compiling .mm on host" 2015-09-17 23:11:10 +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 Albert 3ee9daac6a Merge "Remove WITHOUT_(HOST|TARGET)_CLANG." 2015-09-16 23:24:40 +00:00
Ying Wang 6fb36397e5 Merge "Use $(OUT_DIR)/ninja_build to mark ninja build." 2015-09-16 23:12:37 +00:00
Dan Albert 32f7ff14ce Remove WITHOUT_(HOST|TARGET)_CLANG.
This is unused.

Change-Id: Ibc461fef02c82d110718003aceffb943c930ffe6
2015-09-16 15:43:00 -07:00
Ying Wang eb1e18e689 Use $(OUT_DIR)/ninja_build to mark ninja build.
Bug: 23565895
Change-Id: I000e88a45278fd52096312262eacc52511f02efb
2015-09-16 15:29:08 -07:00
Ying Wang 45075cf623 Merge "Generate installed-files-vendor.txt" 2015-09-15 21:52:13 +00:00
Ying Wang 8da19e3688 Generate installed-files-vendor.txt
Similar to installed-files.txt, installed-files-vendor.txt lists the
content of vendor.img.

Bug: 24009297
Change-Id: Ib8112b19cc9f54d0c0d6a829063e4fe72d8ce664
2015-09-15 14:24:00 -07:00
Ying Wang 6eb3d977c5 Merge "Remove legacy kernel build toolchain PATH setup in envsetup.sh" 2015-09-15 17:04:48 +00:00
Ying Wang 750396dd30 Remove legacy kernel build toolchain PATH setup in envsetup.sh
We used to rely on envsetup.sh to set up PATH before doing kernel build.
Now we have new kernel build process.
Also the variable doesn't work any more as we don't have corresponding arm-eabi
toolchain for the latest arm-linux-androideabi toolchain.

Change-Id: I99443fdc58e94f57f4f1f7e88da6dd127f3b2fac
2015-09-14 19:32:50 -07:00
Dan Willemsen b384eb84c3 Merge "kati: Handle MAKECMDGOALS modifications" 2015-09-15 00:28:42 +00:00
Colin Cross 4ce3cea770 Merge changes I6e4f957c,Id41a2d81
* changes:
  Use makeparallel to propagate -j flag to ninja or kati
  Implement makeparallel
2015-09-15 00:18:43 +00:00
Dan Willemsen cb1bd116ed kati: Handle MAKECMDGOALS modifications
For some special targets (PRODUCT-%), the MAKECMDGOALS variable is
modified. Before this change, using one would result in a "no rule to
make target" error, since the new target was not stubbed out.

Change-Id: I879642a48b84a66789d4bdb7db1b6fd1130819b7
2015-09-14 16:30:51 -07:00
Colin Cross f7ca64faa0 Use makeparallel to propagate -j flag to ninja or kati
When USE_NINJA=true is set, use makeparallel to claim all jobs from make and
pass them to ninja with -j.  If USE_GOMA is set, pass the -j flag to
kati instead so the parallelism can be set in the local_pool instead.

Change-Id: I6e4f957c65683b74533ecb6d33e25de858922823
2015-09-14 14:41:00 -07:00
Colin Cross a55544875a Implement makeparallel
makeparallel communicates with the GNU make jobserver
(http://make.mad-scientist.net/papers/jobserver-implementation/)
in order claim all available jobs, and then passes the number of jobs
claimed to a subprocess with -j<jobs>.

Change-Id: Id41a2d81e0d835517da8ba52c818c763fc455c14
2015-09-14 14:33:50 -07:00
Dan Albert da196abf10 Merge "Fix `LOCAL_CXX_STL := none` for Windows." 2015-09-11 20:44:46 +00:00
Dan Albert d1d68b19ac Fix `LOCAL_CXX_STL := none` for Windows.
We still need to link the various MSVC libraries even if we aren't
using the STL.

Bug: http://b/22953515
Change-Id: I73c35710a6162408e99480a4840eedd291adf7ab
2015-09-11 13:37:51 -07:00
Shinichiro Hamaji 6d20af0391 Merge "Use the same build.ninja for normal make targets" 2015-09-10 03:31:59 +00:00
Dan Willemsen 96d3c0d0b1 Merge "Update the build system doc" 2015-09-10 00:45:59 +00:00
Dan Willemsen 0b6c3481d5 Update the build system doc
This adds a reference to the _{32|64|arm|arm64|...|darwin|linux|windows}
variables, and adds information about how LOCAL_MODULE_HOST_OS works.

It also removes many (but not all) obsolete references.

Bug: 23566667
Change-Id: Ief16a5e245eb65ac00fc23d4fc1b7a409a7a64bd
2015-09-10 00:20:12 +00:00
Dan Willemsen c8db47a021 Merge "Don't build windows modules with clang, fix flags" 2015-09-09 23:17:47 +00:00
Dan Willemsen 7728817ab9 Don't build windows modules with clang, fix flags
shamu checkbuilds set USE_CLANG_PLATFORM_BUILD, which shouldn't apply to
modules built for windows. Also fix some flags that were being set
improperly.

Bug: 23566667
Change-Id: Id4c5b7cc59966328483d90f2b7be3f35e439ecee
2015-09-09 16:10:50 -07:00
Tao Bao c5fe3f117d Merge "releasetools: Fix the expected total blocks." 2015-09-09 19:29:59 +00:00
Tao Bao b32d56ea8c releasetools: Fix the expected total blocks.
With the change in [1], it zeroes out extra blocks that might be read
by dm-verity. We should update the expected number of blocks that get
touched.

[1] commit e9b619108d.

Bug: 23786644
Change-Id: I7a7c3531e5af6bf381d3a14832e77abfa9a8efce
2015-09-09 11:56:58 -07:00
Dan Willemsen f1c09d7fbd Merge "Add HOST_CROSS_OS" 2015-09-09 18:13:21 +00:00
Dan Albert feb3ecaff0 Merge "Fix name for NDK protobuf libraries." 2015-09-09 18:13:16 +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
Shinichiro Hamaji d762bcae25 Use the same build.ninja for normal make targets
$(PARSE_TIME_MAKE_GOALS) is a list of known goals which affect
parsing of make (e.g., there is $(filter XXX,$(MAKECMDGOALS))).
If the make targets contain one of them, we keep using a
different build.ninja for each combination of make targets.
Otherwise, we use the same build.ninja which has all phony
targets.

Also load vendor/google/build/ninja_config.mk so it can add
Google-specific goals to $(PARSE_TIME_MAKE_GOALS).

Bug: 23685536
Change-Id: I3da5c76fa7644a05a55c374a754212f4fb794818
2015-09-09 15:48:10 +09:00
Tao Bao 10b2e62b6d Merge "releasetools: Don't write empty groups." 2015-09-08 22:25:42 +00:00
Tao Bao 42206c3f2f releasetools: Don't write empty groups.
For a DataImage, we may have no mapping of ZERO or NONZERO blocks. Don't
write those groups if they are empty.

Bug: 19024504
Change-Id: I1e921effcdbf0661d4f4b541c104dd456ac0c582
2015-09-08 14:06:08 -07:00
Dan Albert a187fb5986 Fix name for NDK protobuf libraries.
Name them *-ndk so it's clear which library is which.

Change-Id: I53544a8a97488f902e00d1aedaa021d09ee2f649
2015-09-08 10:47:03 -07:00
Tao Bao 16656668e1 Merge "releasetools: Always write the last block if it's padded." 2015-09-08 17:41:47 +00:00
Shinichiro Hamaji e711afb154 Merge "Use $(BUILD_MODULES_IN_PATHS) as a part of ninja suffix" 2015-09-07 05:38:24 +00:00
Tao Bao 7589e961a7 releasetools: Always write the last block if it's padded.
In BBOTAs if the last block of a DataImage is padded, we should always
write the whole block even for incremental OTAs. Because otherwise the
last block may be skipped if unchanged, but would fail the post-install
verification if it has non-zero contents in the padding bytes.

Bug: 23828506
Change-Id: I4b0af7344d18261258cd48d18c029c089d6ff365
2015-09-05 20:54:55 -07:00
Dan Willemsen 762746705c Merge "Fix LOCAL_MODULE_HOST_OS" 2015-09-05 01:25:16 +00:00
Shinichiro Hamaji 909e7f40ae Use $(BUILD_MODULES_IN_PATHS) as a part of ninja suffix
So that switching between two different mmma targets won't
need regenerating ninja files.

Change-Id: Ifddd75ec49abd3ab2a54c6afbb902b0b32359db8
2015-09-05 09:00:19 +09:00
Dan Willemsen ed635cfc0d Fix LOCAL_MODULE_HOST_OS
Make sure LOCAL_IS_HOST_MODULE is set before including
module_arch_supported.mk

Bug: 23566667
Change-Id: I28ef10f093407eb3a6a83574ecc3f098eb775241
2015-09-04 15:41:38 -07:00
Ying Wang af72e1b3e6 Merge "Move part of logtags stuff back to base_rules.mk." 2015-09-04 17:31:07 +00:00
Tao Bao 8f4b307e56 Merge "releasetools: Fix the bug when deleting files." 2015-09-04 17:05:55 +00:00
Yasuhiro Matsuda ff82e82a1e Move part of logtags stuff back to base_rules.mk.
Otherwise event tags for non-Java modules
(e.g. logcat, libsurfaceflinger) are not generated.

BUG: 23803975
Change-Id: I6fd53fe2ca39102787fc513aa8c23f906b94f253
2015-09-04 20:02:49 +09:00
Tao Bao a77d41e2f7 releasetools: Fix the bug when deleting files.
For file-based OTAs, we used to remove unneeded files in ascending
order, which failed to delete non-empty directories. Reverse the order
to fix the issue.

For example, now we have the following in our generated script:
  delete("/system/app/Calculator/arm/Calculator.odex",
         "/system/app/Calculator/arm/",
         "/system/app/Calculator/Calculator.apk",
         "/system/app/Calculator/");

Bug: 22960996
Change-Id: I0d36d29b7862fb53bf55bf5685a990180f9c0b3b
2015-09-03 21:21:55 -07:00
Dan Willemsen 4379e2b8bb Merge "Add LOCAL_MODULE_HOST_OS" 2015-09-04 01:24:15 +00:00
Dan Willemsen 859ac34064 Add LOCAL_MODULE_HOST_OS
Instead of wrapping a host module definition in 'ifeq($(HOST_OS),...)'
in the Android.mk files, define which hosts are supported using
LOCAL_MODULE_HOST_OS.

A blank LOCAL_MODULE_HOST_OS means that linux and darwin are supported.
A non-empty LOCAL_MODULE_HOST_OS lists the supported HOST_OSs.

Change-Id: I1e342d1908cfa00aef2c39c145b4f5f81c373bc6
2015-09-03 16:40:51 -07:00
Tom Cherry 62062c9d66 Merge "move init.trace.rc to frameworks/native" 2015-09-03 21:52:45 +00:00
Tom Cherry 05bd7f3499 move init.trace.rc to frameworks/native
init.trace.rc will be renamed to atrace.rc and use the LOCAL_INIT_RC
mechanism to be included on /system appropriately.

Bug 23186545

Change-Id: Ibb86761d3e8d3c6d194ddb1220f93a71a8c6675b
2015-09-03 14:20:43 -07:00
Tao Bao c6c9c61d05 Merge "releasetools: Fix the bug in symlink deletion." 2015-09-03 01:32:08 +00:00
Tao Bao 84006eacd0 releasetools: Fix the bug in symlink deletion.
For file-based OTAs, symlinks in the source build but not in the target
build will be deleted. However, if a symlink is replaced by a regular
file in the target build, the file will be accidentally deleted when
applying (resuming) the same package again.

Verify the checksum of a symlink that will be unpacked or renamed to.
Delete the file only if it doesn't have the target checksum.

Bug: 23646151
Change-Id: Ie322abb6022b6fa812c6b36a3127872d9614fc3b
2015-09-02 17:51:16 -07:00
Ying Wang 4e2f190315 Merge "Clean up Javac a little bit." 2015-09-02 20:48:50 +00:00