Commit graph

15236 commits

Author SHA1 Message Date
Ying Wang
b3bed5952b Merge "Add a dummy build recipe for generated RS cpp files." 2014-05-28 23:33:35 +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
7df64f7c0d Merge "Move to dalvik.vm.lib.2 to force default to libart" 2014-05-28 22:28:35 +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
f4999d3b8a Merge "Fix pattern rules for $(installed_odex) for libdvm." 2014-05-28 21:25:34 +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
aae7e3fa66 Merge "Support LOCAL_CLANG with arch/bit suffix." 2014-05-28 16:12:40 +00:00
Elliott Hughes
4afe808c64 Merge "Fix all the system image sizes." 2014-05-28 04:01:53 +00:00
Elliott Hughes
368600b1e8 Fix all the system image sizes.
x86 just bit me. I did manage to build mips today, but I assume it
can't be long before we hit the limit there too if every other target
has hit it already.

Change-Id: I28dfe3b4f9565cb79e0bf6b0ffc55a9d6e64a9b0
2014-05-27 16:47:44 -07: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
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
31101623b3 Merge "Fix for duplicate names in whole static libs" 2014-05-27 18:23:26 +00:00
Ying Wang
294301bb34 Merge "Exclude libstdc++ and libgcc if libc++ is requested." 2014-05-27 17:49:13 +00:00
Narayan Kamath
8d3b9c9e45 Merge "Switch x86_64 emulator to 64 bit primary." 2014-05-27 11:13:42 +00:00
Narayan Kamath
7b31bd3e8f Merge "Remove hardcoded TARGET_PREFER_32_BIT_APPS." 2014-05-27 11:12:34 +00:00
Narayan Kamath
62da5fd161 Switch x86_64 emulator to 64 bit primary.
Also siezes the opportunity to remove the hardcoded
TARGET_PREFER_32_BIT_APPS directing in core_64_bit.mk.
This avoids the need for further hacks but needs supporting
changes to a few apps to force them to 32 bit.

Change-Id: I36ba9e5f5b08dd87d6a4afc27961a436306eed99
2014-05-27 12:12:00 +01:00
Narayan Kamath
214c53a022 Remove hardcoded TARGET_PREFER_32_BIT_APPS.
This isn't required any longer, besides individual products
should be allowed to set this value themselves.

(cherry picked from commit 7b9347a7f9)

Change-Id: If459eab32c6e7831596224ad3503baefbf028133
2014-05-27 12:08:33 +01: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
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
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
Colin Cross
3655a68565 add vendor directories to gdb shared library search path
Change-Id: Ib4ccf3739d6b2f14597605ce06f00e4776f67976
2014-05-22 12:01:06 -07:00
Colin Cross
6a5fa0684a add 2nd arch gcc to the path
Add the 2nd arch gcc to the path so users can manually run gdb,
addr2line, objdump, etc.

Change-Id: I30ff439bb6548b897d13bfa87151991d5f2948b3
2014-05-22 12:01:06 -07:00
Colin Cross
03b424a50b fix paths when 2nd arch gcc is a different version
arm64 is using gcc 4.9, arm is using gcc 4.8.  Fix setpaths() to
get a separate version for the 2nd arch.

Change-Id: I7bde01308fc7718360e7d0fbd46b3ae8c5f55fa7
2014-05-22 12:01:06 -07:00
Ying Wang
b0143e2fff Merge "Add some more flags to CLANG_CONFIG_UNKNOWN_CFLAGS" 2014-05-22 17:38:01 +00:00
Ying Wang
8a3f514d44 Merge "Split the rules to build the odex file" 2014-05-22 02:24:59 +00:00
Dmitriy Ivanov
5caca89c5d Merge "Clarify multiarch warnings" 2014-05-22 01:22:00 +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
Mark Salyzyn
ea65c191e7 Merge "libctest: zap" 2014-05-21 21:02:10 +00:00
Mark Salyzyn
ae0d241144 libctest: zap
Change-Id: Ia3ff0cad0995af428adf2dbdf10587dae904ec7d
2014-05-21 13:27:58 -07:00
Sreeram Ramachandran
90a0edbc0b Merge "Remove netd_client. It has moved to the internal tree." 2014-05-21 16:59:25 +00:00
Sreeram Ramachandran
a7877a4674 Remove netd_client. It has moved to the internal tree.
Change-Id: Iffcdb4900373c05086fd1085b861b6520065b7a3
2014-05-21 09:55:44 -07: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
4e151105a0 Merge "Support to extract JNI libs from prebuilt APK" 2014-05-21 01:02:57 +00: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
Elliott Hughes
0dbcff9599 Merge "The generic_arm64 system image is full." 2014-05-20 21:48:10 +00:00
Elliott Hughes
0499399231 The generic_arm64 system image is full.
Change-Id: I454c674033525f2f7847d2c91979dff8093c335b
2014-05-20 14:44:26 -07:00
Christopher Ferris
a2cd924bef Merge "Fix extra/missing : in path setup." 2014-05-20 21:18:51 +00:00
Christopher Ferris
7110f241ab Fix extra/missing : in path setup.
Change-Id: I4d95efc781c58af704012922d95841e009bf6286
2014-05-20 14:09:36 -07: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
64f3a191f9 Merge "Multilib support for odex" 2014-05-19 16:50:17 +00:00
Ji-Hwan Lee
13b485889d Merge "Allow qemu_device read-write access to various processes" 2014-05-19 16:46:30 +00:00
Ji-Hwan Lee
93e450767f Allow qemu_device read-write access to various processes
Basically, allow access of qemu_device where gpu_device is allowed, for the
case when the emulator runs with OpenGL/ES emulation.  Most noticably,
surfaceflinger crashes without qemu_device access.

Bug: 15052949
Change-Id: Ib891365a6d503309bced64e2512c4d8f29d9a07e
2014-05-19 20:49:17 +09: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