Commit graph

4237 commits

Author SHA1 Message Date
Ying Wang
67ed25f3a6 Reenable ccache.
The previous commit 994c84fb virtually disabled ccache, due to the
deferred evaluation of CC_WRAPPER/CXX_WRAPPER.

Change-Id: Ie0d70a23a55190bd9b24b72edc9158b6976e1d5d
2014-06-06 11:18:04 -07:00
Ying Wang
7b913ce6fa Support .asm being compiled by yasm targeted for x86.
Change-Id: Icd6626a082facf920b0e49e2fbe8861e94400552
2014-06-06 11:00:36 -07:00
Tim Murray
e564c0cbd0 Merge "Switch name from tblgen -> llvm-tblgen for consistency with upstream tools." 2014-06-04 19:00:38 +00:00
Stephen Hines
5339640da6 Switch name from tblgen -> llvm-tblgen for consistency with upstream tools.
Change-Id: I7735fd88104ff95001dd5f88a1c387df9af993ad
2014-06-03 18:28:44 -07:00
Primiano Tucci
1d6506ca4b Merge "Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to the compiler." 2014-06-03 09:29:51 +00:00
Ying Wang
7f349dc968 am 40b7e342: Merge "Move sdk staging dir to a product-specific dir"
* commit '40b7e34240be756bbf1542b63eef6332024d067e':
  Move sdk staging dir to a product-specific dir
2014-06-03 01:22:51 +00:00
Ying Wang
d7af176199 Move sdk staging dir to a product-specific dir
So we can do incremental build across different SDK products.

Change-Id: If3f082e4b92d00e7ccda980610e1d967d44da622
2014-06-02 16:16:53 -07:00
Primiano Tucci
994c84fb40 Introduce CC/CXX/JAVAC_WRAPPER to wrap the calls to the compiler.
This is to make it possible to wrap the compiler invocations with
custom wrappers (e.g., distcc/goma) by setting the CC_WRAPPER,
CXX_WRAPPER, JAVAC_WRAPPER variables in the build environment (without
having to know in advance the path to the compiler)

Change-Id: Ide800c24f0c2ebbb1cfb358bd8f99ec8a9d41253
2014-06-02 20:12:57 +01:00
Stephen Hines
85e0dce5f4 am a8b65126: Merge "Add -shared to clang LDFLAGS."
* commit 'a8b65126cae5335d4c8b31fbf7700907fd2c48dd':
  Add -shared to clang LDFLAGS.
2014-05-30 23:04:37 +00:00
Stephen Hines
a8b65126ca Merge "Add -shared to clang LDFLAGS." 2014-05-30 22:59:48 +00:00
Nick Kralevich
329988c277 am a42e0f50: Merge "arm64: restore relro/now"
* commit 'a42e0f50162721bc54c113ef1ed3058cfb38ae67':
  arm64: restore relro/now
2014-05-30 22:56:11 +00:00
Nick Kralevich
45545761d2 arm64: restore relro/now
The bug which required this option has been fixed.

Bug: 11434996
Change-Id: I7ab7e2e8ba7b993281902832d01b3ee3ba9e06ef
2014-05-30 15:46:40 -07:00
Nick Kralevich
1df5b37b5b am 61cf065a: Merge "Use a separate policy for the recovery image."
* commit '61cf065ae9247a200208dc7df0234e03caff3605':
  Use a separate policy for the recovery image.
2014-05-30 18:23:41 +00:00
Nick Kralevich
61cf065ae9 Merge "Use a separate policy for the recovery image." 2014-05-30 18:20:48 +00:00
Andrew Hsieh
dc41aa3254 am 5c2c70de: Merge "Add -latomic to all target builds"
* commit '5c2c70de88a6c126460c88cfa64561d7cb2cc030':
  Add -latomic to all target builds
2014-05-30 07:46:14 +00:00
Andrew Hsieh
5c2c70de88 Merge "Add -latomic to all target builds" 2014-05-30 07:44:02 +00:00
Tim Murray
0f9276d4ba Add -shared to clang LDFLAGS.
TOT clang doesn't do the right thing with regards to -pie without this.

Change-Id: Ic14cfb25d96359eb18899c09ebaf1d311e937d01
2014-05-29 17:54:07 -07:00
Stephen Smalley
5520f28653 Use a separate policy for the recovery image.
Only the recovery image needs to include the recovery domain
in its policy, so create a separate policy for the recovery image
and replace the root policy with this one when building the
recovery image.

Depends on the change with the same Change-Id in external/sepolicy.

Change-Id: I444107f9821eabf4164ba07a44d03bd71e719989
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-05-29 16:42:49 -04:00
Brian Carlstrom
ab6f84e3d1 am e0df9d95: Merge "Only enable WITH_DEXPREOPT by default for libdvm.so"
* commit 'e0df9d9577c19975adbf6e5a3489946c8f91ad1e':
  Only enable WITH_DEXPREOPT by default for libdvm.so
2014-05-29 19:40:02 +00:00
Andrew Hsieh
4c952d72b7 Add -latomic to all target builds
Projects using stdatomic.h needs libatomic.a in case compiler can't
expand all __atomic* intrinsics. eg, __atomic_is_lock_free in
armeabi/mips.

Adding libatomic.a globally makes more sense than adding
"LOCAL_LDLIB += -latomic " in each project including <stdatomic.h>.
Projects don't need atomic operations won't get redundant DT_NEEDED
entry because libatomic.a is not a shared library.

Change-Id: I81dbf524544c848e667e18ab5eeabff75b5063ef
2014-05-29 11:40:46 -07:00
Brian Carlstrom
3f5ff08dc5 Only enable WITH_DEXPREOPT by default for libdvm.so
Bug: 14298175

(cherry picked from commit 9f8e214a91)

Change-Id: I96ba4e198b7bc1b7d9a502c432590f41c87d05c4
2014-05-29 09:38:04 -07:00
Ying Wang
d3ddfdf847 am b3bed595: Merge "Add a dummy build recipe for generated RS cpp files."
* commit 'b3bed5952b44e69dc9e1988beb4092303084ef61':
  Add a dummy build recipe for generated RS cpp files.
2014-05-28 23:38:46 +00:00
Ying Wang
b3bed5952b Merge "Add a dummy build recipe for generated RS cpp files." 2014-05-28 23:33:35 +00:00
Ying Wang
d40776aa88 am 65afd710: Merge "Add a dummy build recipe for the proto generated header files"
* commit '65afd710a592390671beb5da15a87b127a5f2125':
  Add a dummy build recipe for the proto generated header files
2014-05-28 23:28:58 +00:00
Ying Wang
65afd710a5 Merge "Add a dummy build recipe for the proto generated header files" 2014-05-28 23:26:01 +00:00
Ying Wang
81ab8339fe Add a dummy build recipe for generated RS cpp files.
Previously the RS cpp files are generated by the timestamp rule. Though
we have the generated RS cpp files depend on the timestamp file, we
don't have a build recipe. In such case gmake does some "optimization"
that it skip recompiling the generated cpp files, because it assumes the
generated cpp files are already up to date even if the rs files have
been updated.

Bug: 15313144
Change-Id: Ie69ecd2c788057d3619f9c7d2a125d44c4a534a1
2014-05-28 16:17:09 -07:00
Ying Wang
5186dac02b Add a dummy build recipe for the proto generated header files
This fixed issue that gnumake skip updating the cpp file that includes
the generated header file when the .proto file gets updated.
For example:
Say a.cc includes b.pb.h, since b.pb.h is just byproduct of the rule
that generates b.pb.cc, and though we have dependency "b.pb.h :
b.pb.cc", but we don't have build recipe for that rule.
Gmake stupidly thinks that b.pb.h must not be updated in that case so
it skips all targets that depends on b.pb.h!
With the dumy build recipe, gmake now doesn't skip the depedent targets.

Bug: 13009798
Change-Id: I39adc09b7656bdd023f578fb8933667944fd974c
2014-05-28 16:15:13 -07:00
Brian Carlstrom
ed97938caa am 7df64f7c: Merge "Move to dalvik.vm.lib.2 to force default to libart"
* commit '7df64f7c0d933e3a5f18e0d15402f62b819ef8f0':
  Move to dalvik.vm.lib.2 to force default to libart
2014-05-28 22:31:44 +00:00
Brian Carlstrom
31f5db27c6 Move to dalvik.vm.lib.2 to force default to libart
Bug: 14298175

(cherry picked from commit 7e127ebe0b)

Change-Id: I0a94e01f46fcc074d8c8fd1e5558fb764ab47361
2014-05-28 14:49:34 -07:00
Ying Wang
8898f2e261 am f4999d3b: Merge "Fix pattern rules for for libdvm."
* commit 'f4999d3b8a0d09e790767176c543df1c2ad53c5a':
  Fix pattern rules for $(installed_odex) for libdvm.
2014-05-28 21:28:42 +00:00
Ying Wang
994c226b91 Fix pattern rules for $(installed_odex) for libdvm.
When the VM is libdvm, we don't put the odex files in an arch specific
subdirectory. The previous pattern rules don't work because of the extra
"/". With this change, % evaluates to empty string when it's built for
libdvm; % evaluates to "<arch_name>/" when it's built for libart.
Also removed use of $(create-empty-package), which may causes file name
(dummy) conflict with the rule of package.apk.

Bug: 15311527
Change-Id: I9f9089bc1896b78c1f47834afdb28a3a51d34480
2014-05-28 14:23:26 -07:00
Ying Wang
7e4c73d588 am aae7e3fa: Merge "Support LOCAL_CLANG with arch/bit suffix."
* commit 'aae7e3fa66ecf6bf796ba9a107d8f066498ab10b':
  Support LOCAL_CLANG with arch/bit suffix.
2014-05-28 16:14:54 +00:00
Ying Wang
824344af00 Support LOCAL_CLANG with arch/bit suffix.
Precedence: LOCAL_CLANG_<arch> > LOCAL_CLANG_<32|64> > LOCAL_CLANG.

Bug: 15257067
Change-Id: I86b72f3bec162834591287d3b5231b5f40f9a431
2014-05-27 13:06:08 -07:00
Dan Albert
a5b0b1303d am 3805f619: Merge "Revert "Fix for duplicate names in whole static libs""
* commit '3805f619156163eab8ad92fd51b4a431be1287bd':
  Revert "Fix for duplicate names in whole static libs"
2014-05-27 19:44:19 +00:00
Dan Albert
3805f61915 Merge "Revert "Fix for duplicate names in whole static libs"" 2014-05-27 19:41:46 +00:00
Dan Albert
3c12b5c02b Revert "Fix for duplicate names in whole static libs"
This reverts commit 0e5ce8be34.

Change-Id: I68b776cb915fd7be8299ddb2899907046dddadf3
2014-05-27 19:30:36 +00:00
Dan Albert
212772f632 am 31101623: Merge "Fix for duplicate names in whole static libs"
* commit '31101623b3e621436f6b46f49242ed4642d86164':
  Fix for duplicate names in whole static libs
2014-05-27 18:26:38 +00:00
Dan Albert
31101623b3 Merge "Fix for duplicate names in whole static libs" 2014-05-27 18:23:26 +00:00
Ying Wang
292673094c am 294301bb: Merge "Exclude libstdc++ and libgcc if libc++ is requested."
* commit '294301bb34b62d51305d70780ac031a905fa9efe':
  Exclude libstdc++ and libgcc if libc++ is requested.
2014-05-27 17:52:10 +00:00
Dan Albert
0e5ce8be34 Fix for duplicate names in whole static libs
_extract-and-include-single-(host|target)-whole-static-lib was written such that
only the first file of a given name would be extracted and included into the new
library. This patch iterates over each identically named archive member,
extracts them individually, and adds them to the new archive.

Bug: 15110069
Change-Id: Ia08c7be6f40bfc8403908a8808898ada479099b1
2014-05-23 18:23:47 -07:00
Ying Wang
d90de32951 Exclude libstdc++ and libgcc if libc++ is requested.
Bug: 15174002
Change-Id: I24fe428c3520f76cd61f0660b59ba18a1f2d2dad
2014-05-23 16:42:37 -07:00
Ying Wang
cdcb6926d4 am 6cb69bd4: Merge "Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build"
* commit '6cb69bd4f20ac3ae3a7d5b5cc323c4480cf8ef75':
  Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build
2014-05-23 17:44:31 +00:00
Ying Wang
6cb69bd4f2 Merge "Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build" 2014-05-23 17:39:40 +00:00
Colin Cross
828b518377 am e45c8607: Merge changes Ibc943b75,Ib4ccf373,I30ff439b,I7bde0130
* commit 'e45c8607b3e2cf7a428a91898aea2752a54389a1':
  set a prebuilt directory name for the 2nd arch
  add vendor directories to gdb shared library search path
  add 2nd arch gcc to the path
  fix paths when 2nd arch gcc is a different version
2014-05-22 19:31:26 +00:00
Colin Cross
e45c8607b3 Merge changes Ibc943b75,Ib4ccf373,I30ff439b,I7bde0130
* changes:
  set a prebuilt directory name for the 2nd arch
  add vendor directories to gdb shared library search path
  add 2nd arch gcc to the path
  fix paths when 2nd arch gcc is a different version
2014-05-22 19:28:01 +00:00
Colin Cross
12d18eb563 set a prebuilt directory name for the 2nd arch
In order to install 32-bit gdbserver on a 64-bit build,
prebuilts/misc/Android.mk needs to know the prebuilt directory name
for the 2nd arch.

Change-Id: Ibc943b758eb9404f7f5f9fbbd8720cc67f6a6f01
2014-05-22 12:01:23 -07:00
Ying Wang
8e2b2d8ad4 am b0143e2f: Merge "Add some more flags to CLANG_CONFIG_UNKNOWN_CFLAGS"
* commit 'b0143e2fffbd3183175e8c1873d3466598ca9457':
  Add some more flags to CLANG_CONFIG_UNKNOWN_CFLAGS
2014-05-22 17:43:14 +00:00
Ying Wang
b0143e2fff Merge "Add some more flags to CLANG_CONFIG_UNKNOWN_CFLAGS" 2014-05-22 17:38:01 +00:00
Ying Wang
a72e6f80e4 am 8a3f514d: Merge "Split the rules to build the odex file"
* commit '8a3f514d44e2c1d4920126b3edd47f7a7616b732':
  Split the rules to build the odex file
2014-05-22 02:29:52 +00:00
Ying Wang
8a3f514d44 Merge "Split the rules to build the odex file" 2014-05-22 02:24:59 +00:00
Dmitriy Ivanov
caabca3786 am 5caca89c: Merge "Clarify multiarch warnings"
* commit '5caca89c5d66e9999e26905522bf2eed958d0961':
  Clarify multiarch warnings
2014-05-22 01:24:48 +00:00
Dmitriy Ivanov
38bba065e0 Clarify multiarch warnings
* Show multiarch related warnings only if my_module_multilib is both

Change-Id: If0c467c1d9b953bd3f40949ab4b97d9329ec021f
2014-05-21 16:40:35 -07:00
Ying Wang
36142f64ae Split the rules to build the odex file
Previously the odex file is byproduct generated by the package.apk rule.
Though we have the odex file depend on the package.apk it doesn't have
its own build recipe. In case package.apk isn't updated but we still
need to update the odex file (such as changed LOCAL_MULTILIB), the odex
file will never be rebuilt.
This change split out the rules to build the odex file and make sure the
build recipe get executed if the odex file needs rebuild.

Change-Id: I60c2f32b536b3d59045301ee863aae1451734aad
2014-05-21 16:24:59 -07:00
Ying Wang
8a724260f2 am 4e151105: Merge "Support to extract JNI libs from prebuilt APK"
* commit '4e151105a02ba09acb277c6a084252d01c561a5f':
  Support to extract JNI libs from prebuilt APK
2014-05-21 01:06:03 +00:00
Ying Wang
966c1e0cae Add HOST_PREFER_32_BIT to support 32-bit-by-default multilib build
We already support pure 32-bit and 64-bit-by-default multilib build.
With HOST_PREFER_32_BIT we can build 32-bit-by-default multilib build.
This will be lest disruptive during the period we transition to
64-bit-by-default.

Bug: 13751317
Change-Id: I0d56ce4abbe4afeaacfd70d709f6a349791c0722
2014-05-20 18:03:21 -07:00
Ying Wang
7cf9f28b5f Support to extract JNI libs from prebuilt APK
Use LOCAL_PREBUILT_JNI_LIBS to install prebuilt JNI libraries extracted
from the prebuilt apk, or prebuilts as source, to the app specific lib path.
LOCAL_PREBUILT_JNI_LIBS accepts 2 kinds of files:
- Files like @path/to/libfoo.so (path inside the apk) are JNI libs
  extracted from the prebuilt apk. In this case, all embedded JNI libs
  inside the prebuilt apk are stripped.
- Files like path/to/libfoo.so (path relative to LOCAL_PATH) are
  prebuilts in the source tree.

Those prebuilt JNI libs are not defined as modules in the build system,
so this works around possible module name conflict.

Bug: 13170859
Change-Id: I91bb844cc11b3621a85733bc7e8910f168957ef0
2014-05-20 18:02:17 -07:00
Ben Cheng
50e9911179 am 54bea362: Merge "Use aarch64-linux-android-4.9 for arm64 build (attempt #4)"
* commit '54bea362ab7f33791bd6ea54d77a76dc8d9e005d':
  Use aarch64-linux-android-4.9 for arm64 build (attempt #4)
2014-05-20 16:04:17 +00:00
Ben Cheng
54bea362ab Merge "Use aarch64-linux-android-4.9 for arm64 build (attempt #4)" 2014-05-20 16:00:08 +00:00
Ben Cheng
d033121431 Use aarch64-linux-android-4.9 for arm64 build (attempt #4)
GCC: 4.9 (which supports -fstack-protector)
Binutils: 2.24 (which supports gc-sections)
GDB: 7.7

NDK libraries are still picked up from prebuilts/ndk/*/4.8/*

GCC has been patched to disable codegen for calling
__cxa_throw_bad_array_new_length.

Source code has been sync'ed against the 2014-05-14 snapshot which
contains many important fixes (devirtualization, codegen, ...).

Change-Id: I43229360ad0132193d5208cb0d1acba55084853c
2014-05-19 16:22:21 -07:00
Brian Carlstrom
a8355ecaad am 64f3a191: Merge "Multilib support for odex"
* commit '64f3a191f92a6ab84a8175ad480633b8c58ac900':
  Multilib support for odex
2014-05-19 16:53:35 +00:00
Brian Carlstrom
64f3a191f9 Merge "Multilib support for odex" 2014-05-19 16:50:17 +00:00
Ying Wang
b9aa5d43de Multilib support for odex
If the VM is libart and DEXPREOPT is enabled,
- For a Java library and the boot image, we build for both 1st arch and
  2nd arch.
- For an app, we build for the multilib arch the module is targeted for.
The odex file will be in <arch_name>/<module_name>.odex inside the same
dir where the jar/apk file gets installed.
Nothing changed if it's built for libdvm.

Bug: 14694978
Change-Id: I45118a83758b41d52d6c9e38f93f0ba2775a6c74
2014-05-18 22:04:58 -07:00
Ying Wang
002f3c2862 am 4636abe5: Merge "Real "LOCAL_MULTILIB := both" for prebuilts"
* commit '4636abe5899272e1e9051e2c98516409107c4e8c':
  Real "LOCAL_MULTILIB := both" for prebuilts
2014-05-17 03:06:42 +00:00
Ying Wang
4636abe589 Merge "Real "LOCAL_MULTILIB := both" for prebuilts" 2014-05-17 03:03:44 +00:00
Ying Wang
023209b63e am 5ee3f096: Merge "Default TARGET_CPU_SMP to true."
* commit '5ee3f0960dbc6a14333e3b98252d59f5d8d18a7d':
  Default TARGET_CPU_SMP to true.
2014-05-17 00:09:03 +00:00
Ying Wang
d450706704 Default TARGET_CPU_SMP to true.
Change-Id: If8c52c8ed66d52452967d09885dfe1ca9da13688
2014-05-16 16:27:11 -07:00
Ying Wang
112786266a am 3c8089ce: Merge "Fix the missing 2nd arch prefix."
* commit '3c8089cef8eaf90b11852a5c258eba0ff5e3287e':
  Fix the missing 2nd arch prefix.
2014-05-16 23:26:31 +00:00
Ying Wang
ef773d22ca Fix the missing 2nd arch prefix.
Bug: 13751317
Change-Id: Ie5a323a0a89245576dbc91271d3178574942627d
2014-05-16 16:22:32 -07:00
Dan Albert
304a7a9fab am b589679b: Merge "Use libc++ versions of gtest libs when needed"
* commit 'b589679b101e0863a1fd1d7f4fc6ee3370c8a60a':
  Use libc++ versions of gtest libs when needed
2014-05-16 22:03:56 +00:00
Dan Albert
9b0c6ff69c Use libc++ versions of gtest libs when needed
Change-Id: Id8752ea946cbaa747dfa4fccf38d680dfeee5b45
2014-05-16 14:55:50 -07:00
Dan Albert
4dd8c9705d am a82b32a7: Merge "Use libc++ versions of gtest libs when needed"
* commit 'a82b32a7a7855cb93e11e060120803e91cc81c2d':
  Use libc++ versions of gtest libs when needed
2014-05-16 21:54:04 +00:00
Dan Albert
a82b32a7a7 Merge "Use libc++ versions of gtest libs when needed" 2014-05-16 21:50:27 +00:00
Ying Wang
47316a27ea am 5137d458: Merge "Force to build llvm from source in 64-bit host build."
* commit '5137d4584e60dea68715dbcae5e276b3af965460':
  Force to build llvm from source in 64-bit host build.
2014-05-16 18:59:23 +00:00
Dan Albert
965bfefb6b Use libc++ versions of gtest libs when needed
Change-Id: I19aa58a83a9da680d441af5f3956a2fbdf18c4e4
2014-05-16 11:22:44 -07:00
Ying Wang
34d5f1b27e Real "LOCAL_MULTILIB := both" for prebuilts
This uses the fact that unsetting LOCAL_MULTILIB equals "either".
It's useful to build for both 32-bit and 64-bit in the same prebuilt
module definition.

Bug: 13751317
Change-Id: I4f1625a83e13f22f807039afebae73f69ed35918
2014-05-16 10:49:57 -07:00
Ying Wang
6374153fbf Force to build llvm from source in 64-bit host build.
Bug: 13751317
Change-Id: I4a4150bfe21607eb7a2342bbd8120b431427eee5
2014-05-16 09:37:23 -07:00
Ji-Hwan Lee
eaf4c7581f am a7748859: Merge "Clear *.ini and skin directory on installclean"
* commit 'a7748859d741af2f7e22f3333030b937269d33c7':
  Clear *.ini and skin directory on installclean
2014-05-16 01:57:35 +00:00
Ji-Hwan Lee
a7748859d7 Merge "Clear *.ini and skin directory on installclean" 2014-05-16 01:54:49 +00:00
Ying Wang
5b768a7253 am f14653ce: Merge "x86_common.mk has been replaced by HOST_x86_common.mk"
* commit 'f14653cee4c98094d171c194b1af3e14b087ab09':
  x86_common.mk has been replaced by HOST_x86_common.mk
2014-05-16 01:54:12 +00:00
Ying Wang
a303c4f546 x86_common.mk has been replaced by HOST_x86_common.mk
Change-Id: I19eea82bb35d3f65a2d894c687131a1eafbe2cc9
2014-05-15 18:50:06 -07:00
Christopher Ferris
7c67257b8e am f8cfbc0a: Merge "Print all 2ND variables."
* commit 'f8cfbc0a10b75e6ec22b6e80b90df2a4386887b2':
  Print all 2ND variables.
2014-05-16 01:17:13 +00:00
Christopher Ferris
f8cfbc0a10 Merge "Print all 2ND variables." 2014-05-16 01:14:43 +00:00
Ji-Hwan Lee
0a5b178fc3 Clear *.ini and skin directory on installclean
Currently, skin directory remains across different emulator targets, and
need manual removal.  Also, clear hardware-qemu.ini and config.ini.
(See https://android-review.googlesource.com/94692 for config.ini)

Change-Id: Iaa5849ad043ed3f317325ba1d6df287953636f7a
2014-05-15 20:59:01 +09:00
Narayan Kamath
59f04e889e am 944a3810: Merge "Fix executable symlinks."
* commit '944a38104a553d84c44fa87b2378ebee66a12349':
  Fix executable symlinks.
2014-05-15 09:41:37 +00:00
Narayan Kamath
944a38104a Merge "Fix executable symlinks." 2014-05-15 09:36:26 +00:00
Christopher Ferris
4fe22ae9e8 Print all 2ND variables.
Change-Id: I11180a3ec3481d293100c59c331f05db9e6a689b
2014-05-14 19:16:25 -07:00
Ying Wang
40b49d3043 am a74ade94: Merge "Support host multilib build"
* commit 'a74ade945776e80f99f3b05d06a131cfd353c3f6':
  Support host multilib build
2014-05-15 00:41:37 +00:00
Ying Wang
6feb6d5607 Support host multilib build
This change basically ported our target multilib to the host side.
It supports 2 host build modes: x86 and x86_64 multilib build.
For now you need to set "BUILD_HOST_64bit=true" to switch to x86_64
multilib build. Later we'll default to x86_64 build and have a flag
to force 32-bit only build, which may be needed by SDK build.

In host module definition, like in target ones, you can use the
following
LOCAL variables to set up multilib configuration:
LOCAL_MULTILIB: can be "both", "first", "32" or "64".
It also supports the same set of arch or 32-vs-64 specific LOCAL
variables.
By default, it builds only for the first arch.

To keep path compatibility, in x86_64 build files are still output to
out/host/linux-x86; Both 32-bit and 64-bit executables are in
out/host/linux-86/bin;
In x86_64 build 32-bit shared libraries are installed to
out/host/linux-x86/lib32
and 64-bit shared libraries are installed to out/host/linux-x86/lib;
32-bit object files are output to out/host/linux-x86/obj32 and 64-bit
object files
are output to out/host/linux-x86/obj.

Bug: 13751317
Change-Id: I6044f83b7db369a33e05209e8c588eb6dc83409f
2014-05-14 16:55:04 -07:00
Narayan Kamath
4fb8122bcb Fix executable symlinks.
32 bit targets will leave TARGET_PREFER_{32,64}_BIT_APPS unset
so adjust accordingly. Also clean up an explanatory comment.

Change-Id: I1f6faa640e4e862631fff49f7c565766ef2c567f
2014-05-14 18:26:48 +01:00
Ying Wang
72344a7329 am 8012d8f3: Merge "Treat denver like cortex-a15."
* commit '8012d8f353304ef4487545648455d34d6ffc2741':
  Treat denver like cortex-a15.
2014-05-13 16:34:00 +00:00
Ying Wang
fb910ddb1d Treat denver like cortex-a15.
See also build/core/combo/arch/arm/armv7-a-neon.mk.

Change-Id: Ie18e1f133f56a9f7da80e304052c92edad933a31
2014-05-13 09:02:56 -07:00
Andrew Hsieh
e7b99aec67 am fb1f38ec: Merge "Define __USE_MINGW_ANSI_STDIO for windows build"
* commit 'fb1f38ecbacfb5dc2cc4f3f83eb814ac2aa090ca':
  Define __USE_MINGW_ANSI_STDIO for windows build
2014-05-13 00:57:08 +00:00
Andrew Hsieh
fb1f38ecba Merge "Define __USE_MINGW_ANSI_STDIO for windows build" 2014-05-13 00:53:45 +00:00
Ian Rogers
50912342f1 am f544a5f4: Merge "Place ISA in ART boot image name."
* commit 'f544a5f4d57750b569333a59d57f568121f6f4a3':
  Place ISA in ART boot image name.
2014-05-12 23:00:45 +00:00
Ian Rogers
334497b8b6 Place ISA in ART boot image name.
Depends upon:
https://android-review.googlesource.com/#/c/94096/2

Change-Id: I79bec60a17ea7cf9214e56f8035d4a1b80b0eeb6
2014-05-12 15:17:25 -07:00
Ying Wang
6c43294059 am dcdc985c: Merge "executable_prefer_symlink: add makefile for creating symlink to prefer version"
* commit 'dcdc985c47338c29e66a22941904abd4171607c9':
  executable_prefer_symlink: add makefile for creating symlink to prefer version
2014-05-12 16:53:01 +00:00
Ying Wang
dcdc985c47 Merge "executable_prefer_symlink: add makefile for creating symlink to prefer version" 2014-05-12 16:49:16 +00:00
Bernhard Rosenkraenzer
d6e11825c4 Add some more flags to CLANG_CONFIG_UNKNOWN_CFLAGS
Add some more gcc specific flags that are used somewhere in the tree
(e.g. external/chromium_org) to CLANG_CONFIG_UNKNOWN_CFLAGS

Change-Id: Icc572fdb6ea4ba818c4d18e430296589eb61bf55
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2014-05-12 16:05:14 +02:00
David 'Digit' Turner
9e3259f50d am fb67f05d: Merge changes I53b2ada9,I30794ea5
* commit 'fb67f05d3d6deb2400fd09390550a7858a3c3158':
  Disable emulator from platform builds.
  envsetup.sh: Use prebuilt emulator binaries if available.
2014-05-11 09:19:43 +00:00
David 'Digit' Turner
fb67f05d3d Merge changes I53b2ada9,I30794ea5
* changes:
  Disable emulator from platform builds.
  envsetup.sh: Use prebuilt emulator binaries if available.
2014-05-11 09:16:16 +00:00
Andrew Hsieh
c581e10a2b am eca0043b: Merge "Disable canonical prefixes of system headers"
* commit 'eca0043b869cb10792e2f3e79d4714bde2945bac':
  Disable canonical prefixes of system headers
2014-05-09 16:59:04 +00:00
Andrew Hsieh
eca0043b86 Merge "Disable canonical prefixes of system headers" 2014-05-09 16:55:00 +00:00
Ying Wang
9889229133 am 3afc688a: Merge "javac: rename common_flags to avoid conflictions"
* commit '3afc688a6acc1753a2b104719a7a27f223f50750':
  javac: rename common_flags to avoid conflictions
2014-05-09 16:45:44 +00:00
Andrew Hsieh
48f239c94f Disable canonical prefixes of system headers
GCC know a few pre-defined paths (relative to its location) to
search for headers, libraries, program, etc.  By default GCC prefixes
its own path(argv[0]) and calls realpath() which result in absolute
path with all symlink, . and .. removed.

It's usually good to have canonicalised paths, but absolute paths
in *.d file can cause unnecessary relinking when stale entries
in ccache cache hit

Add -no-canonical-prefixes (gcc>=4.6) and
-fno-canonical-system-headers (gcc>4.6) to disable realpath() on
prefixed paths

Change-Id: I58d739e61fb013015fb05a9c98b2132b307f915a
2014-05-09 22:12:49 +08:00
David 'Digit' Turner
f6e2694dd2 Disable emulator from platform builds.
Now that emulator prebuilts are available under prebuilts/android-emulator/,
disable building the emulator from source in all platform builds, except
if one defines BUILD_EMULATOR to 'true' in its environment.

NOTE: This patch should be applied after this one to avoid issues
      with the GPU emulation libraries:
            https://android-review.googlesource.com/93980

Change-Id: I53b2ada9ca0c2e159dccee7cdca7f55f6b0d1d42
2014-05-09 15:32:39 +02:00
Yongqin Liu
d1d42e88dc executable_prefer_symlink: add makefile for creating symlink to prefer version
For a 64bit target, we can have support for both 32bit and 64bit version
binary(like app_process, dalvikvm), and there are some commands like am/pm
will call these commands to implement it's function.

In some targets it will prefer to use the 32bit version, and in other targets
it will prefer to use the 64bit version. So this change is to add the common
work for creating the symlink to the prefer version binary,and avoid the
change on the caller commands side like am/pm.

In this change, it uses TARGET_PREFER_32_BIT_APPS to decide linking to
32bit version or 64bit version.

Change-Id: I96f041c0e0ededd953feead30ec63ad63e945a6f
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-05-09 14:08:49 +08:00
Andrew Hsieh
d322f2a6ef Define __USE_MINGW_ANSI_STDIO for windows build
Some printf/scanf functions in Windows aren't C99 compatible.
Define __USE_MINGW_ANSI_STDIO for mingw compiler to use it's own set of
replacement libraries which are more C99-like.

Change-Id: I51dfa582971ec0487409067e8bb7fe3a44577b93
2014-05-09 11:45:13 +08:00
Nick Reuter
c43ab6edc2 javac: rename common_flags to avoid conflictions
* Currently the flag conflicts with one seen in hardware/qcom
   rename to avoid issues.

Change-Id: I876fcd6a254f349dc5260509bcddb0367a7d49d8
Signed-off-by: Nick Reuter <nreuter85@gmail.com>
2014-05-08 22:15:35 -05:00
Xavier Ducrohet
05a7a955c1 am afe444a5: Merge "Remove SDK Tools from platform builds."
* commit 'afe444a564ed72cdda792822a0c9dab57a8c9172':
  Remove SDK Tools from platform builds.
2014-05-09 00:52:34 +00:00
Xavier Ducrohet
afe444a564 Merge "Remove SDK Tools from platform builds." 2014-05-09 00:46:45 +00:00
Ying Wang
d6214b3161 am 0d4b3df6: Merge "Target "tests" now only builds the modules tagged as "tests""
* commit '0d4b3df6aa495ab2aaabe3a8d5c9c6ad69ab5667':
  Target "tests" now only builds the modules tagged as "tests"
2014-05-09 00:06:36 +00:00
Ying Wang
2d41656cdb am f6603f75: Merge "Add tool to package up built modules."
* commit 'f6603f753d492823e19d0677d5a9ccfc16f51805':
  Add tool to package up built modules.
2014-05-09 00:06:35 +00:00
Ying Wang
07b2055d3e Target "tests" now only builds the modules tagged as "tests"
But not install them.
This prevents "make tests" polluting system.img or userdata.img.
We have new mechanism to build and package up modules into zip file in
build/core/tasks/tools.
Change package-modules.mk to install DATA/ instead of data/ in the
zip file; Better handle of module name conflicting.

Bug: 13585955
Change-Id: I7586a8c7995b984c9ead0ba2fa84dd5d2dd20bd1
2014-05-08 17:01:25 -07:00
Ying Wang
989ac38d93 Add tool to package up built modules.
With this change, you can package up modules while avoiding installing
them to the system.img or userdata.img.
- build/core/tasks/tools/package-modules.mk
  You can use this template to package up modules into a zip file and
  preserve the installed file paths.
- LOCAL_PICKUP_FILES, you can use this variable to package up extra
  files/directories.

Bug: 13585955
Change-Id: I103042b24ccf17cf5dc90c016d97ed1dd293e50b
2014-05-08 17:01:06 -07:00
Brian Carlstrom
4ed19f0f42 am 1e63c2d1: Merge "Add dalvik.vm.dex2oat-flags for eng build"
* commit '1e63c2d15cba608a154bbd563f96dde334691147':
  Add dalvik.vm.dex2oat-flags for eng build
2014-05-08 21:53:14 +00:00
Xavier Ducrohet
51e303a281 Remove SDK Tools from platform builds.
(cherry picked from commit edf30221b4890673dc714a1efef3b5faf4ae1522)

Change-Id: Ia74c2ece1528adca10a4eec24e73b4ce361af1a9
2014-05-08 14:50:15 -07:00
Brian Carlstrom
1e63c2d15c Merge "Add dalvik.vm.dex2oat-flags for eng build" 2014-05-08 21:49:31 +00:00
Ying Wang
0a61a6032c am 3b15cdb8: Merge "Apply LOCAL_LDLIBS to target build rules too."
* commit '3b15cdb854dfe79507cace8ce54828861bbe7a8c':
  Apply LOCAL_LDLIBS to target build rules too.
2014-05-08 00:21:35 +00:00
Ying Wang
de36cd72e8 Apply LOCAL_LDLIBS to target build rules too.
Use LOCAL_LDLIBS to link against prebuilt libraries (such as NDK
libraries).
Previously LOCAL_LDLIBS only applies to host modules and the behaviour
confuses users.

Change-Id: I515546d7b59ef54e8ef09050eb58ec63534c9291
2014-05-07 11:33:19 -07:00
Brian Carlstrom
fceb115bd6 Add dalvik.vm.dex2oat-flags for eng build
Bug: 12869646
Change-Id: I794320267c846225931f12075c7f32d7848081e9
2014-05-06 20:40:11 -07:00
Ying Wang
ba0bb801c3 am a16583a0: Merge "Fix windows/mingw build."
* commit 'a16583a0880f574937f08bf2c86be72b0f4b9274':
  Fix windows/mingw build.
2014-05-06 19:16:12 +00:00
Ying Wang
1401c76c2f Fix windows/mingw build.
Bug: 14446414
Change-Id: I9d12ed8afb6d4d5a09ef9b2844eb193b52b74271
2014-05-06 12:11:09 -07:00
Ying Wang
c3b2314a58 am a37550ed: Merge "Use prebuilt flex."
* commit 'a37550edd39b3520839251b2a4acceca779a8a8b':
  Use prebuilt flex.
2014-05-06 18:43:28 +00:00
Ying Wang
a37550edd3 Merge "Use prebuilt flex." 2014-05-06 18:41:00 +00:00
Ying Wang
e9dd544dfe am 889a93a4: Merge "add silvermont x86 architecture"
* commit '889a93a49582fa17049f0424af3c1c06f70db407':
  add silvermont x86 architecture
2014-05-06 16:20:51 +00:00
Ying Wang
889a93a495 Merge "add silvermont x86 architecture" 2014-05-06 16:18:56 +00:00
Ying Wang
fb1236a9a8 Use prebuilt flex.
Bug: 14446414
Change-Id: I07fe8d7f246de853e5bae17286834268e36d260c
2014-05-05 18:34:57 -07:00
Colin Cross
735628e8d1 am 2ff8919d: Merge changes I7e809264,I504cea21,Ibd2165e6
* commit '2ff8919de339209412d9da2a524f566dfcf5847f':
  build: add core_64_bit.mk
  build: reverse abi list when TARGET_PREFER_32_BIT_APPS is set
  build: split TARGET_PREFER_32_BIT for apps and executables
2014-05-05 20:14:18 +00:00
Colin Cross
2ff8919de3 Merge changes I7e809264,I504cea21,Ibd2165e6
* changes:
  build: add core_64_bit.mk
  build: reverse abi list when TARGET_PREFER_32_BIT_APPS is set
  build: split TARGET_PREFER_32_BIT for apps and executables
2014-05-05 20:11:28 +00:00
Tim Murray
6ac74e6d81 am d720c5a2: Merge "Add -no-integrated-as for ARM64."
* commit 'd720c5a2a6cb44e76c20f96d33b0ac8a96060d91':
  Add -no-integrated-as for ARM64.
2014-05-02 18:24:20 +00:00
Tim Murray
d720c5a2a6 Merge "Add -no-integrated-as for ARM64." 2014-05-02 18:21:34 +00:00
Ying Wang
887a52d022 am a6b8025a: Merge "Add WITH_DEXPREOPT to the list of protected global variables."
* commit 'a6b8025a815cc5c9b441a91917f100486c270446':
  Add WITH_DEXPREOPT to the list of protected global variables.
2014-05-02 04:00:30 +00:00
Ying Wang
a6b8025a81 Merge "Add WITH_DEXPREOPT to the list of protected global variables." 2014-05-02 03:57:33 +00:00
Ying Wang
9c44021535 Add WITH_DEXPREOPT to the list of protected global variables.
Bug: 14380196
Change-Id: I02cff39eeaf2deddf434c0c310063e4b341edd43
2014-05-01 20:55:30 -07:00
Colin Cross
2a4f0ff32f build: reverse abi list when TARGET_PREFER_32_BIT_APPS is set
If the product prefers 32-bit apps signal that preference to
PackageManager by reversing the abi list.

Also uses the absence of TARGET_SUPPORTS_32_BIT_APPS and
TARGET_SUPPORTS_64_BIT_APPS to remove those ABIs from the
ABI list.

Change-Id: I504cea21b6f800a7a9e7706b4a7123d3fb07c383
2014-05-01 10:55:43 -07:00
Torne (Richard Coles)
f0b5bfec7b am a0267df2: Merge "Remove libpac and v8 from the 64-bit blacklist."
* commit 'a0267df234db59d34891a01e0761233abc9ae4b1':
  Remove libpac and v8 from the 64-bit blacklist.
2014-05-01 09:20:19 +00:00
Torne (Richard Coles)
a0267df234 Merge "Remove libpac and v8 from the 64-bit blacklist." 2014-05-01 09:17:26 +00:00
Colin Cross
a3339e98e6 build: split TARGET_PREFER_32_BIT for apps and executables
Introduce two new flags, TARGET_PREFER_32_BIT_APPS and
TARGET_PREFER_32_BIT_EXECUTABLES that individually control
compilation of apps and executables.  If TARGET_PREFER_32_BIT is
set, the build system will automatically set both new flags.

Change-Id: Ibd2165e688675c2884d9e7ddf82d7dd6c28521f3
2014-04-30 18:18:59 -07:00
Tim Murray
6f144b8f65 Add -no-integrated-as for ARM64.
Change-Id: I7faba190554aa43f43b2eb164bdc7b3bfab68ef0
2014-04-30 15:55:52 -07:00
Tim Murray
27fe940676 am 7e65b6c1: Merge "Remove tblgen and clang-tblgen from prebuilts."
* commit '7e65b6c1e53a51db0aa65126f2453f27daa0f22f':
  Remove tblgen and clang-tblgen from prebuilts.
2014-04-30 21:52:33 +00:00
Tim Murray
75b58cc827 Remove tblgen and clang-tblgen from prebuilts.
Change-Id: I89fb74da5a516d0f768f72518a401216f8a5b1a8
2014-04-30 13:54:32 -07:00
Bill Yi
1e4adfa837 Merge commit '8113e43601aac7702b9ec007e81a179826143d1e' into HEAD 2014-04-29 11:32:53 -07:00
Andrew Boie
155fc8b5fe add silvermont x86 architecture
This is used for Baytrail targets.

Change-Id: I5a2fa6dbb8217a326ee09f5ea434885718ab3f0c
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
2014-04-30 01:23:25 +08:00
Torne (Richard Coles)
91d4944434 Remove libpac and v8 from the 64-bit blacklist.
external/chromium-libpac has been updated to depend on the copy of V8 in
external/chromium_org, and its makefiles updated to be multilib-safe.
external/v8 is thus unused and has been removed from the tree.

Bug: 12452053
Change-Id: I757fa187f7f67cd9a89d4b228d4ce3ed6d2858b1
2014-04-29 10:23:56 +01:00
Andrew Hsieh
140761af09 Rename my_ndk_version_root to my_ndk_sysroot; and _include and _lib
prebuilts/ndk/current/platforms/android-19/arch-x86_64/usr/lib
is renamed to usr/lib64 to be more consistent with rest of
lib paths in x86_64 toolchain, which is multilib

See https://android-review.googlesource.com/#/c/92441/

Change-Id: I4e59245505d0fa87ae3608e81e715ccfcecc5ec8
2014-04-25 23:47:10 -07:00
Ying Wang
676e11fed8 Merge "include LGPL projects in GPL archives" 2014-04-25 21:56:27 +00:00
Tim Murray
43d5e1bbc4 Build changes necessary for LLVM 3.5 switch.
Change-Id: Icb6065daada7cb1d7425206830a4ef9e23454c03

Conflicts:
	core/clang/arm.mk
2014-04-24 13:14:32 -07:00
Elliott Hughes
847fd0311f Merge "Leave 'linux' defined on x86/x86-64, like arm." 2014-04-24 16:19:17 +00:00
Elliott Hughes
1076c5685b Merge "Leave 'linux' defined on mips/mips64, like arm." 2014-04-24 16:16:06 +00:00
Torne (Richard Coles)
0933cf22fc Remove chromium_org and webview from the 64-bit blacklist.
external/chromium_org has been updated to handle 64-bit architectures
correctly in its makefiles; remove it from the blacklist so we can start
experimenting with building a 64/32 multilib version.

Change-Id: Ieb0e4f3cfea1578e01954c4656df90cd8d36b8cc
2014-04-24 13:30:47 +01:00
Elliott Hughes
1acd8b0552 Leave 'linux' defined on mips/mips64, like arm.
Change-Id: Idf1e781c34d45d1e20b7e5542d79201ae93668fe
2014-04-23 23:24:36 -07:00
Elliott Hughes
2c8e95528c Leave 'linux' defined on x86/x86-64, like arm.
Change-Id: I53013a45c19a643a985de3f339b8b3f8f4dc39d2
2014-04-23 23:09:30 -07:00
Andrew Hsieh
dfde360b2c Switch to new host prebuilt x86_64-linux-glibc2.11-4.6
Change-Id: I763398d523bf4851a13722f72b12ec69d7a4bb4f
2014-04-23 14:47:00 -07:00
Tim Murray
d318ba66f9 Update build system for better Clang behavior on Mac.
Change-Id: I1813954681b670807d7e3faaf6d5f5a769cc5f2e
2014-04-22 09:26:22 -07:00
Ying Wang
695e826a0c Update rules to install JNI libraries.
Previously we have to use LOCAL_REQUIRED_MODULES to install jni
libraries for an apk in bundled build.
With this change, we'll use LOCAL_JNI_SHARED_LIBRARIES alone to
install jni shared libraries.

The new rules are:
- If we are doing unbundled build, or the apk isn't going to be
  installed to system partitions, we'll embed the jni libs in the
  built apk.
- Otherwise, the jni libraries will be installed to the system
  lib path, and symlinks created in the app specific lib path.

Change-Id: Id6bd5301eb632bda3593664acee580f0d8b1d5d4
2014-04-18 16:36:19 -07:00
Ian Rogers
67c209281f Merge "For 64-bit, use 32-bit DEXPREOPT if zygote64 isn't enabled." 2014-04-18 23:10:31 +00:00
Ian Rogers
5d186aee8e For 64-bit, use 32-bit DEXPREOPT if zygote64 isn't enabled.
Change-Id: Ia95d74517f8182031d6044ae55559010a98ec5ca
2014-04-18 15:23:40 -07:00
Ben Cheng
e76fee59fc Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #3)"
This reverts commit 084a7f8387.

GCC 4.9 still has stability issues (b/14160872)

Change-Id: I4d40829dbbfac0e7b6cd7eaf9924744bc5714271
2014-04-18 18:34:35 +00:00
Ben Cheng
084a7f8387 Use aarch64-linux-android-4.9 for arm64 build (attempt #3)
GCC: 4.9 (which supports -fstack-protector)
Binutils: 2.24 (which supports gc-sections)
GDB: 7.7

NDK libraries are still picked up from prebuilts/ndk/*/4.8/*
GCC has been patched to disable codegen for calling
__cxa_throw_bad_array_new_length.

Change-Id: Ie0bf38357c0cf3d265d8b5dd3c2b8a8fd83b1de1
2014-04-16 12:18:14 -07:00
Ben Cheng
d32bbe7d06 Merge "Explicitly link libstdc++.a for static gtest executables." 2014-04-16 17:03:21 +00:00
Ben Cheng
e34bb09eab Explicitly link libstdc++.a for static gtest executables.
Change-Id: I29e3a4036264acd00dfa3229c9d0fc52ee20830e
2014-04-16 09:42:56 -07:00
Andrew Hsieh
50536c20af Add -Wl,-maarch64linux
The "-maarch64linux" switch is needed before aarch64-*4.8 is rebuilt with
backport of upstream patch, see https://android-review.googlesource.com/#/c/91099/

The existing ld.bfd is fine because it's configured to support
aarch64linux only.  ld.mcld (see https://android-review.googlesource.com/#/c/91047)
needs explicit emulation switch because it supports multiple targets

Change-Id: Idc1a491c5722ea9e26db917b667b1000bccc1f60
2014-04-15 11:54:06 -07:00
Narayan Kamath
22261a3f9b Merge ""desktop" linux has Posix clocks." 2014-04-15 10:58:52 +00:00
Colin Cross
5b1fa1c8a0 Merge "build: remove LOCAL_NO_2ND_ARCH" 2014-04-12 00:06:30 +00:00
Colin Cross
149d65b177 build: remove LOCAL_NO_2ND_ARCH
Delete LOCAL_NO_2ND_ARCH, it is no longer used.  Equivalent
functionality is available with LOCAL_MULTILIB := first.

Change-Id: I36838a8a7e10b0a59ca0022c4c8a3a190e782c71
2014-04-11 16:57:36 -07:00
Ben Cheng
38fef38c40 Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #2)"
This reverts commit 1ae9b213eb.
Sigh... new warnings found by 4.9 break checkbuild.

Change-Id: I46ad622fa9c8ac4fb1e15e29bb400634abc5914c
2014-04-11 23:36:25 +00:00
Andrew Boie
08a943b16a include LGPL projects in GPL archives
LGPL projects need their source code distributed under very
similar conditions to GPL and MPL, the only difference is the
conditions under which they may be linked. It makes sense to
include them in the GPL archive tarballs.

Change-Id: I2c2df03906bfeee55566102aa688e4cdc283700b
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2014-04-11 21:38:00 +00:00
Ben Cheng
1ae9b213eb Use aarch64-linux-android-4.9 for arm64 build (attempt #2)
GCC: 4.9 (which supports -fstack-protector)
Binutils: 2.24 (which supports gc-sections)
GDB: 7.7

NDK libraries are still picked up from prebuilts/ndk/*/4.8/*
GCC has been patched to disable codegen for calling
 __cxa_throw_bad_array_new_length.

Change-Id: Ie647fc4c6b227d6bee792f04d5c2f02eb0099559
2014-04-11 12:22:56 -07:00
Ben Cheng
eec11d9727 Merge "Decouple platform compiler and NDK library versioning." 2014-04-11 17:02:32 +00:00
Ben Cheng
4de6fa4069 Decouple platform compiler and NDK library versioning.
TARGET_GCC_VERSION: select compiler from prebuilts/gcc/...
TARGET_NDK_GCC_VERSION: select libraries from prebuilts/ndk/...

Change-Id: I4422a42cdc97aa92b40798014cba82c3c123bbd2
2014-04-10 22:46:26 -07:00
Colin Cross
161cd77f21 build: remove packages/ from 64-bit blacklist
Everything under packages/ will build for 64-bit now, and
package.mk has been updated to not produce 64-bit libraries
on devices that don't support them (all of them right now).

Change-Id: I2c10e41f727cfc8fe237819308a6dfa34c4fff3f
2014-04-10 20:44:24 -07:00
Colin Cross
1750944332 build: use TARGET_SUPPORTS_32_BIT_APPS and TARGET_SUPPORTS_64_BIT_APPS
Use TARGET_SUPPORTS_32_BIT_APPS and TARGET_SUPPORTS_64_BIT_APPS to
determine which native libraries to build for an app.  If
both are set, it will use 64-bit unless TARGET_PREFER_32_BIT is set.
If only one is set, it will only build apps that work on that
architecture.  If neither is set it will fall back to only building
32-bit apps.

On existing 32-bit devices neither variable will be set, and the
build system will continue to build 32-bit apps.

Once a device has support for a 64-bit runtime, the same logic
that selects the dual runtimes should set TARGET_SUPPORTS_32_BIT_APPS
and TARGET_SUPPORTS_64_BIT_APPS, and packages will be built for
the preferred arch, or fall back to the non-preferrred arch if
necessary.

For testing, a device may set TARGET_SUPPORTS_64_BIT_APPS without
TARGET_SUPPORTS_32_BIT_APPS to produce only 64-bit apps.

Change-Id: I5b5e23f15602c3cf9bd96791971208a85492c7a3
2014-04-10 20:44:24 -07:00
Colin Cross
dc1c95aa20 build: add support for LOCAL_MULTILIB := 64
I don't expect it to be useful for modules, but package.mk will
use it to only install 64-bit native apps on devices that
only have a 64-bit zygote.

Change-Id: If3f5a81c3a60bd13fa6ded08e2a7579a29877324
2014-04-10 15:49:38 -07:00
Colin Cross
d3624d5f48 build: fix TARGET_PREFER_32_BIT
TARGET_PREFER_32_BIT can't assume that the 32-bit rule is allowed,
it needs to try the 32-bit rule first, then fall back to the 64-bit
rule in case the module specifies LOCAL_MODULE_TARGET_ARCH or
LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH to disallow the 32-bit build.

Also port TARGET_PREFER_32_BIT to package.mk.

Change-Id: I07520b75c4ee11a1e95a82b3afa2a33d4907eb04
2014-04-10 15:49:32 -07:00
Ben Cheng
13eaf184f6 Merge "Revert "Use aarch64-linux-android-4.9 for arm64 build."" 2014-04-10 17:14:57 +00:00
Ben Cheng
81892e29ff Revert "Use aarch64-linux-android-4.9 for arm64 build."
This reverts commit 6154690d86.

Change-Id: I7427ad6ca1f74ad632229348bac31ebdbc0590ad
2014-04-10 17:14:01 +00:00
Narayan Kamath
163140ceaf "desktop" linux has Posix clocks.
Change-Id: I90885a2bbb65f14f774ae72b2ca6738176bf0341
2014-04-10 17:36:53 +01:00
Ben Cheng
d957d6bbdb Merge "Use aarch64-linux-android-4.9 for arm64 build." 2014-04-10 16:33:51 +00:00
Ben Cheng
6154690d86 Use aarch64-linux-android-4.9 for arm64 build.
Change-Id: I63e1b54947326fb5da07af7691d4729bcbf99ac1
GCC: 4.9 (which supports -fstack-protector)
Binutils: 2.24 (which supports gc-sections)
GDB: 7.7
2014-04-09 15:58:08 -07:00
Ying Wang
d81d71a020 Increase the maximum javac heap size again.
Change-Id: Ic3422650ea22977f3dcfd74505cb287ff6543c2d
2014-04-09 14:27:29 -07:00
Narayan Kamath
e6243e176b Stop defining HAVE_TIMEDWAIT_MONOTONIC.
We no longer provide this function in bionic. All callers
should be moved over to pthread_condattr_setclock().

Change-Id: Iccd3384b40de423f7d5f9521b6d8073bf8bdea42
2014-04-09 16:08:09 +00:00
Narayan Kamath
cf61a7a0db Merge "Add 32 / 64 bit abi lists to system properties." 2014-04-09 08:48:04 +00:00
Narayan Kamath
7303ebda84 Add 32 / 64 bit abi lists to system properties.
Introduce ro.product.cpu.abilist32 / abilist64, which are
comma separated lists of the 32 and 64 bit ABIs that the
device supports. These properties are used by the zygote and
system server to determine what ABI an app should be
started with.

This changes move abilist related make steps out of envsetup.mk
and into config.mk because they depend on variables set by
core/combo/***. Additionally, config.mk performs a few additional
cleanups of these variables (like stripping them) after the
inclusion of envsetup.mk so this seems like a better place to
put them.

bug: 13647418

Change-Id: I3db39bdd761220c5b4966f651892fb592396f9a1
2014-04-08 17:40:40 +01:00
Ying Wang
bdac8cf148 Merge "Fix javadoc error "class file for sun.util.resources.OpenListResourceBundle not found"" 2014-04-07 22:41:22 +00:00
Ying Wang
5b6b46459c Fix javadoc error "class file for sun.util.resources.OpenListResourceBundle not found"
It seems to be a javac/javadoc bug.
See https://code.google.com/p/doclava/issues/detail?id=38

sun.util.resources.OpenListResourceBundle is a class defined in the host rt.jar,
but sometimes on some platform javadoc/javac can't find it.
-XDignore.symbol.file tells javadoc/javac to skip the stubs file ct.sym
and link against rt.jar directly.

Change-Id: I3930f7399fc14b2d6b43c29f737fa90f37515aff
2014-04-07 15:19:33 -07:00
Ying Wang
584d8adbea Different bootclasspath for droiddoc.
- If it's host module, don't set bootclasspath;
- If it's arget module,
  - It can build against the API stubs;
  - It can build against a historical SDK version;
  - It can build against core.jar

Change-Id: Id1ec3ba624bc38068b206ad7173f4facf590e021
2014-04-07 15:14:50 -07:00
Narayan Kamath
f122d41b75 Fix droiddoc generation.
We want javadoc generated from the standard libraries
we supply and not the host standard libraries.

This also has the side effect of fixing javadoc generation
for java7 APIs that android introduced, while compiling
with java6.

bug: 8992787
Change-Id: Idebc7e12c7743a43b425ef4971f4482719fd480d
2014-04-07 15:08:18 -07:00
Narayan Kamath
c84889b80a Build with java7 by default.
All introduce a flag LEGACY_USE_JAVA6 to force java6 builds.
This is an unsupported configuration, and provided temporarily
to iron out regressions and compare build output (if required.).

- Increment the version check sequence number.
- Move a more specific check (OpenJDK vs non OpenJDK) after
  the more general version check.
- Update the link in the version check error message to the
  "initializing" page instead of the "download" page. The latter
  talks about repo, mainly.

bug: 8992787

Change-Id: I313e17b1911768d4f3bc318c4162c53dec6eaf0d

Conflicts:
	core/main.mk
2014-04-04 18:44:47 -07:00
Ying Wang
faf3d5ed0f Disable host -fPIE if BUILD_HOST_static is set.
It turns out -static doesn't work with -fPIE.

Bug: 13568878
Change-Id: I66951a5517dece1c5f4f22c329cf703bd99b5163
2014-04-04 14:38:14 -07:00
Ying Wang
8a52b231d2 Unset _JAVA_OPTIONS before running "java -version".
Unfortunately the previous approach of grepping out java version before
"head -n 1" clash with the effort of running "java -version" only once.

Change-Id: Ic78719c3bf1a54a45342d74bbbfa8e83bbc1bce1
2014-04-02 18:15:10 -07:00
Torne (Richard Coles)
c783b9bda9 Merge "Add GYP as a target type that requires 2nd arch." 2014-04-02 17:20:11 +00:00
Narayan Kamath
bee0ec4196 Add warning message for java6 builds.
The instruction URL has been amended and a few additional
details have been added.

(cherry picked from 8c06afdea3)

Change-Id: Icaffc3b13ed881ac7e29f2021ed31eb1f877a5ab
2014-04-02 13:16:15 +01:00
Ying Wang
8d45e51803 Call "java[c] -version" only once
and print out the full output if error occurs.
Bug: 11672548

(cherry picked from 7b66d366bf)

Change-Id: I8e2f2ffa2f28146405273b04667efe3c8d1c03ad
2014-04-02 10:45:17 +00:00
Narayan Kamath
2f5de9f504 Merge "Bring main.mk in sync with master." 2014-04-02 10:45:07 +00:00
Torne (Richard Coles)
3972253b0f Add GYP as a target type that requires 2nd arch.
"GYP" class targets are used by external/chromium_org for gyp's "none"
type. The processing in these targets needs a separate intermediate
directory for the primary/secondary architecture, so add it to the list
in intermediates-dir-for along with libraries/executables.

Change-Id: Id05899c83b45ed0647dfbfa6b0b2e7f61b04348b
2014-04-02 11:33:17 +01:00
Nicolas Geoffray
38c0ac7386 Merge "Use debug versions of dex2oat explicitly." 2014-04-02 08:45:56 +00:00
Dmitriy Ivanov
00479a9fe0 Remove redundant my_target_global_ldflags
* Fix: my_target_global_ldflags is defined in binary.mk
    so they effectivelly override previous definition

Change-Id: I9c7d9bde82c3a6d25a94ae109fa71ecaa33640b0
2014-04-01 16:36:21 -07:00
Tim Murray
125a3c9fb0 Always use prebuilt clang, even if we're explicitly building clang/LLVM.
This is needed for self-hosting Clang/LLVM.

bug 13588226

Change-Id: Ic98adc2b174b12ce046b7b65bbc28901a766a485
2014-04-01 16:08:51 -07:00
Brian Carlstrom
49c80cd9b6 cortex-a7 supports div
(cherry picked from commit cece45d226)

Change-Id: I9975171ef2c2cd3a9481fa0896473fec684095f3
2014-04-01 10:25:59 -07:00
Narayan Kamath
d5fb782682 Bring main.mk in sync with master.
These lines were removed in aosp in commit e2d27887b
but a bad merge conflict resolution left them in master.

Subsequent changes on master started using these variables
so they're being brought back.

Change-Id: Ic8f3c295130c47eb0d66057880f9d4f70c89af94
2014-04-01 13:13:13 +01:00