Commit graph

6545 commits

Author SHA1 Message Date
Dan Albert
46ed1e8590 Disable transitive symbol resolving for mips64.
The transitive symbol resolving causes build breakage when a binary
has indirect dependency on the NDK library.

This matches the change made for the the aarch64 toolchain:
https://android-review.googlesource.com/#/c/120654

Change-Id: Id5b2a63301cb1cdcdd84b4bcd9fbec8cf6ec0b3c
2015-08-06 14:18:55 -07:00
Ying Wang
2c0c1e56db Merge "Build 64-bit host tools in Linux/Mac SDK build." 2015-08-01 17:23:20 +00:00
Daniel Rosenberg
e4fed421d5 Merge "build: core: Fix issue in recovery" 2015-08-01 00:10:09 +00:00
Daniel Rosenberg
46afd7f981 Merge "Add ro.build.system_root_image" 2015-08-01 00:05:05 +00:00
Daniel Rosenberg
7b82656984 build: core: Fix issue in recovery
Now that symlinks are created at build time, the rsync while
making recovery runs into issues around the etc symlink

Change-Id: Ie781507b22e4661629840075b274eaab2f712de6
2015-07-31 16:52:21 -07:00
Daniel Rosenberg
59156a6b7d Add ro.build.system_root_image
ro.build.system_root_image is true if the root directory is built
into the system image.

Change-Id: I17208ebd004c63aebb09db6c3e5f795619e73bd2
2015-07-31 16:52:21 -07:00
Ying Wang
5c28bda966 Build 64-bit host tools in Linux/Mac SDK build.
With this we build 32-bit host tools in only MinGW Windows build.

Bug: 22776595
Change-Id: Icca02b0f629460449a3437ff1769d4d081e92413
2015-07-31 09:24:15 -07:00
Tao Bao
be46a54589 build: Fix "adb shell" in recovery for system_root_image.
For system images that contain the root directory, "adb shell" in
recovery stops working if the image is mounted at "/system", because
sh now locates at /system/system/bin/sh. We fix the issue by mounting
the image on /system_root and create a symlink to /system_root/system
for /system.

Bug: 22855115
Change-Id: Ia6b257b75aeb67687c3909063d1725a23a5ccd60
2015-07-30 16:44:17 -07:00
Dan Albert
8427c5878c Merge "Make TSAN easier to use." 2015-07-30 18:44:19 +00:00
Elliott Hughes
524a7e4693 Merge "Remove HAVE_WINSOCK." 2015-07-30 17:24:06 +00:00
Dan Albert
a6311b7212 Make TSAN easier to use.
TSAN is not supported on 32-bit architectures. For non-multilib cases,
make its use an error. For multilib cases, don't use it for the 32-bit
case.

Change-Id: I8e40be4002379cc2c9aa98ab8b812b337d6e077e
2015-07-30 10:17:33 -07:00
Elliott Hughes
7f80a9ed44 Remove the now-empty darwin AndroidConfig.h.
Change-Id: Icdbb06514c099653923aae936c31abfbaeaccf7a
2015-07-30 09:16:01 -07:00
Elliott Hughes
cf427fb4ae Merge "Don't define S_IRGRP in AndroidConfig.h." 2015-07-30 03:43:38 +00:00
Elliott Hughes
f07ddab187 Merge "Remove global Windows __BEGIN_DECLS/__END_DECLS." 2015-07-30 03:20:36 +00:00
Elliott Hughes
61c94258b1 Remove global Windows __BEGIN_DECLS/__END_DECLS.
Change-Id: Ic1ba634a0376c9c1b484098b4ca41cf7659f06b1
2015-07-29 20:14:59 -07:00
Elliott Hughes
47b557a9ca Don't define S_IRGRP in AndroidConfig.h.
Nothing seems to be relying on this anyway.

Change-Id: I24e2509e4d24bc445961430bb74f8ca04135bc37
2015-07-29 19:26:39 -07:00
Elliott Hughes
1de24c7f64 Remove HAVE_WINSOCK.
Change-Id: I362451b68775de0216c5b8736f5cc16a7933b6c2
2015-07-29 19:05:24 -07:00
Ying Wang
1a5a615a7b Merge "Update mac_sdk_versions_supported." 2015-07-30 00:37:38 +00:00
Ying Wang
d1123ff4c5 Update mac_sdk_versions_supported.
Now we requires Mac OS X SDK version at least 10.8.
Also removed the unnecessary sort call in getting
mac_sdk_versions_installed.
Lexical sort doesn't make sense when 10.10 is added to that list.
Actually the next makefile line makes sure we always get the first
match in $(mac_sdk_versions_supported):
mac_sdk_version := $(firstword $(filter $(mac_sdk_versions_installed),
$(mac_sdk_versions_supported)))

Bug: 22825165
Change-Id: I4bfafabb11f94b66704d4799fe61fe3f16429538
2015-07-29 17:36:38 -07:00
Elliott Hughes
45e2a12bd7 Remove OS_PATH_SEPARATOR from AndroidConfig.h.
Change-Id: I4143be14e5117526bfa98d83e246cc4360209c13
2015-07-29 15:31:39 -07:00
Ying Wang
0c0b2e659f Merge "Use unmodified MAKECMDGOALS in ninja.mk." 2015-07-29 21:59:42 +00:00
Simon Wilson
37700c9ad1 Merge "Add compressor options for squashfs system images" 2015-07-29 21:35:57 +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
d864f43932 Merge "Remove $(DEX2OAT) from DEX2OAT_DEPENDENCY when USE_DEX2OAT_DEBUG is set." 2015-07-29 16:59:50 +00:00
Elliott Hughes
b15b512825 Remove HAVE_WINDOWS_PATHS.
Change-Id: I11284ceddf08eb284af56360f0cf80f4725c98e9
2015-07-29 08:45:40 -07:00
Tao Bao
f2cffbddb9 Support systems that use a full copy of recovery image.
If BOARD_USES_FULL_RECOVERY_IMAGE == true, a full copy of recovery
image will be carried as /system/etc/recovery.img instead of a patch
at /system/recovery_from_boot.p.

Bug: 22641135
Change-Id: Ie271d3e2d55d7b003f667ac5b44203d69b23c63b
(cherry picked from commit 8beab69bd5)
2015-07-28 12:20:36 -07:00
Fredrik Roubert
8a3dd242ac Remove $(DEX2OAT) from DEX2OAT_DEPENDENCY when USE_DEX2OAT_DEBUG is set.
Currently, DEX2OATD_DEPENDENCY is created by appending $(DEX2OATD) to
the value of DEX2OAT_DEPENDENCY and then if USE_DEX2OAT_DEBUG is set,
DEX2OAT_DEPENDENCY is set to DEX2OATD_DEPENDENCY, adding a dependency
on $(DEX2OAT) even in configurations where this will not be built.

This change removes DEX2OATD and DEX2OATD_DEPENDENCY entirely to instead
assign dex2oat or dex2oatd to DEX2OAT depending on USE_DEX2OAT_DEBUG,
making it possible to build with these flags set:

USE_DEX2OAT_DEBUG=true
ART_BUILD_HOST_NDEBUG=false
ART_BUILD_HOST_DEBUG=true
ART_BUILD_TARGET_NDEBUG=false
ART_BUILD_TARGET_DEBUG=true
make build-art-host

Change-Id: I4fa75d1b7e9751c73c43ec943fd8446cc231a070
2015-07-28 11:54:08 -07:00
Dan Albert
d4ff228319 Merge "Disallow LOCAL_CXX_STL with LOCAL_SDK_VERSION." 2015-07-28 00:04:36 +00:00
Dan Albert
ef3e7cfa5d Disallow LOCAL_CXX_STL with LOCAL_SDK_VERSION.
Change-Id: I2cd97b453ad24cc4e5d59b4035e861df41b8cbb9
2015-07-27 14:14:56 -07:00
Ying Wang
cb03141459 Merge "Fix mmma uses like "mmma ./external/apache-harmony"" 2015-07-24 19:35:47 +00:00
Ying Wang
a5184806be Fix mmma uses like "mmma ./external/apache-harmony"
Fix mmma uses like "mmma ./external/apache-harmony" by removing the
leading ./ in entries in BUILD_MODULES_IN_PATHS.

Change-Id: I414e734c8a29434fc89ddb2b745613c33709c5e3
2015-07-24 12:30:41 -07:00
Colin Cross
f8f448b3ca Merge "Build with kati+ninja when USE_NINJA=true" 2015-07-24 18:43:58 +00:00
Colin Cross
3b324cb32e Build with kati+ninja when USE_NINJA=true
If USE_NINJA=true, use kati to translate makefiles into ninja files,
and then execute them with ninja.

Builds kati from source using simplified versions of the rules
in binary.mk and definitions.mk.

Adds two new goals when USE_NINJA=true: generateonly will regenerate
build.ninja but not rebuild (useful for comparing build.ninja output
between runs), and fastincremental will skip regenerating build.ninja
and go directly to running ninja, providing ~5 second incremental
builds.

Change-Id: Ib85399e730f1fbb1be7371fafeee7d1c31080771
2015-07-23 17:29:01 -07:00
Brian Carlstrom
1a71f951a7 Remove unneeded aapt dependency
Change-Id: Ie9b550367f7c6b91d46dc2506c420a45b0d39703
2015-07-23 17:12:10 -07:00
Ying Wang
cd7dfdb4bf Merge "Cleanups." 2015-07-21 23:45:42 +00:00
Ying Wang
06332732a4 Create OUT_DIR before writing build_number.txt.
Change-Id: I6a84ec59194c48f4291480cb0c94db0da488518c
2015-07-21 16:39:46 -07: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
Ying Wang
57d9060ffd Split [CC|CXX]_WRAPPER from [TARGET|HOST]_[CC|CXX]
- Don't overwrite [TARGET|HOST]_[CC|CXX] with the [CC|CXX]_WRAPPER prefix,
  so that we can disable the wrapper per module.
- Disable ccache on a module when FDO is enabled.

Bug: 22612634
Change-Id: Ibc04a4742d589955066c7eceb43a0da9a2b893bc
(cherry-pick from commit c671a7cf5c)
2015-07-21 14:07:50 -07:00
Colin Cross
1d0f6eb115 Merge "Read BUILD_NUMBER from file in rules" 2015-07-21 19:20:37 +00:00
Evgenii Stepanov
db38e7b5d4 Merge "Disable relocation packer in SANITIZE_TARGET mode." 2015-07-21 17:30:03 +00:00
Shinichiro Hamaji
14da1424e0 Do not update previous_XXX.mk when there is no change
I'm adding a rule which regenerates ninja files to kati:

8666cfba20

With this regeneration rule, unnecessary re-generation will happen
when these .mk files are updated even if there are no changes in
their contents. With this patch, these .mk files are updated only
when the contents will be actually changed.

Change-Id: I4c796f9454502f6bb25019b3806ca577ea5258c1
2015-07-21 09:40:02 +09:00
Ying Wang
d37b540a39 Auto-clean host tools when switching between apps_only and platform build.
For apps_only (also PDK build) we use prebuilt host tools in
prebuilts/sdk/tools; For platform build we use tools built from source.
Auto-clean intermediate files of these tools when build type change is
detected.

Bug: 20213206
Change-Id: I9173af322684c017fdb91a3abfbe39ecfe5650e9
(cherry-pick from commit 036b53b6de)
2015-07-20 17:31:08 -07:00
Evgenii Stepanov
4b396e47eb Disable relocation packer in SANITIZE_TARGET mode.
Workaround for
https://code.google.com/p/address-sanitizer/issues/detail?id=387.

Change-Id: I151c3f0eb7e2a4c92a64192a0b43ac17646eab5c
2015-07-20 16:32:53 -07:00
Dan Albert
f4ffafb1a3 Merge "Revert "Revert "Hide unwinder symbols in each binary.""" 2015-07-20 23:11:59 +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
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
Tao Bao
f737a12098 Merge "Enable verbose output for add_img_to_target_files." 2015-07-15 23:54:28 +00:00
Tao Bao
7055791db5 Enable verbose output for add_img_to_target_files.
Change-Id: I7246c59c79ccf6a7589c884391d0f690746fc129
2015-07-15 11:53:39 -07: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
Evgenii Stepanov
ff7a781512 Disable detection of bugs on global variables.
This is a temporary change pending code cleanup.

We are already disabling detection of ODR violations. As it turns out,
an ODR between an ASan-instrumented library and a non-instrumented library
may actually crash ASan, and there is no obvious way out, and one of those
prevents us from booting a SANITIZE_TARGET image right now.

Bug: 21951850
Change-Id: I49508242ec96089a3d4d8b7e45f36323d62f2be9
2015-07-13 20:03:02 -07:00