Commit graph

14765 commits

Author SHA1 Message Date
Ian Rogers
61e5059ef7 Fix the host inttypes.h problem globally.
Bug: 12708004
Change-Id: I2c75647bac304b82e150c540b9e6c5568997596d
2014-01-29 16:29:11 -08:00
Brian Carlstrom
cece05e273 Merge "Bump generic_mips BOARD_SYSTEMIMAGE_PARTITION_SIZE for PRODUCT_RUNTIME := libart_runtime_default" 2014-01-29 20:21:27 +00:00
Brian Carlstrom
4d662a63a4 Bump generic_mips BOARD_SYSTEMIMAGE_PARTITION_SIZE for PRODUCT_RUNTIME := libart_runtime_default
(cherry picked from commit c8501bffcb)

Change-Id: I12ce7c4e383e74e54d77b54a0406d2499699edbf
2014-01-28 23:43:40 -08:00
Elliott Hughes
472a48585e Merge "gtest needs -lpthread." 2014-01-29 01:45:17 +00:00
Elliott Hughes
52e52d1447 gtest needs -lpthread.
Host gtests that don't use pthreads themselves need to be linked
against libpthread because gtest itself uses pthreads to ensure
thread-safety. (It can't know in advance whether the code under
test is going to spin up threads, so it has to be pessimistic.)

Change-Id: I14fb1098c163d7fe6ae9a9a0314acead4ec9383d
2014-01-28 17:32:30 -08:00
Brian Carlstrom
d21197d50c Merge "Make libart the default runtime" 2014-01-29 00:32:23 +00:00
Elliott Hughes
1a731adf94 Merge "Fix KERNEL_HEADERS_ARCH for mips and x86." 2014-01-28 21:23:07 +00:00
Elliott Hughes
171e940c7a Fix KERNEL_HEADERS_ARCH for mips and x86.
arm and arm64 have distinct headers, but mips and mip64, and x86 and x86_64
use headers that work for both widths. So where arm/arm64 need to handle the
second architecture case specially, all we need to do for the others is
hard-code the name. (x86_64.mk already hard-codes x86; we need to change
x86.mk for the case where we're building the 32-bit binaries for a mixed
system. mips64.mk doesn't exist yet, but when it does, it'll hard-code
just plain "mips" too.)

Change-Id: Ia6b9f77b4eb2c78729b454045875c409e0ea8197
2014-01-28 13:10:19 -08:00
Brian Carlstrom
49eb440980 Merge "build: PRODUCT_DEX_PREOPT_IMAGE_IN_DATA" 2014-01-28 20:45:32 +00:00
Brian Carlstrom
8fb5dfc5c7 build: PRODUCT_DEX_PREOPT_IMAGE_IN_DATA
(cherry-picked from commit cd337c71ee65b17529a67af34d4c0b2824a4f175)

Change-Id: I6d8ab3b3cf52f6a6b15f1c8e8d00cdf59042436b
2014-01-28 11:29:58 -08:00
Brian Carlstrom
08d410f532 Make libart the default runtime
Change-Id: I4394f2bdef6f1be36f0f17f3b42d3e62bc2245ef
2014-01-28 09:52:15 -08:00
Colin Cross
cdd1475834 Merge "Add support for TARGET_GLOBAL_UNSUPPORTED_CFLAGS" 2014-01-28 02:25:45 +00:00
Colin Cross
8f47fc379e Add support for TARGET_GLOBAL_UNSUPPORTED_CFLAGS
To ease the transition between toolchains, allow a target to specify
a list of cflags that the toolchain does not support.  These will be
filtered out of the cflags provided by the module.

Add TARGET_GLOBAL_UNSUPPORTED_CFLAGS := -fstack-protector for the
aarch64 toolchain, it does not yet suport -fstack-protector.

Change-Id: I168d0c6f131326fad305ec86fad46e6a3e03295a
2014-01-27 18:21:12 -08:00
Elliott Hughes
0a3cf1a0e5 Merge "Remove libthread_db from the default include path." 2014-01-28 00:00:19 +00:00
Elliott Hughes
2f8dcdd961 Remove libthread_db from the default include path.
This should never have been on the default include path.

The NDK statically links its own libthread_db, so I'm removing
bionic's unused copy from devices.

Bug: 11882807
Change-Id: I49a67fe0902cc4bc178360f6c993959774d74e3a
2014-01-27 15:45:17 -08:00
Ying Wang
7382ec7db8 Merge "ota_from_target_files: Add an option to not sign OTA packages" 2014-01-27 23:37:18 +00:00
Colin Cross
1acb1b64b9 Merge changes I62504bad,I16208cca,I4e4ceec6
* changes:
  add new gen/ directory for generated sources
  warn on LOCAL_MODULE_PATH in multiarch shared libraries
  Support LOCAL_MODULE_RELATIVE_PATH
2014-01-27 23:35:01 +00:00
Ying Wang
25a16fe80e Merge "Don't modify LOCAL_MODULE_TAGS." 2014-01-27 23:20:06 +00:00
Ying Wang
37bd1f2d83 Don't modify LOCAL_MODULE_TAGS.
Change-Id: Id70d48c1d7abf02139925bcb3208515ea1a082b9
2014-01-27 15:19:09 -08:00
Ying Wang
07b16c0d5b Merge "collect_gpl_sources.mk: Declare rule to assemble GPL sources FORCE" 2014-01-27 22:52:14 +00:00
Colin Cross
d826264621 add new gen/ directory for generated sources
Allow modules to generate source into $OUT/gen, which will then
be copied into $OUT/obj and $OUT/obj_$(TARGET_2ND_ARCH) as
necessary.  This allows a single build rule invocation that includes
generated source to build for the first and second architectures.

Modules will need to change calls to local-intermediates-dir into
local-generated-sources-dir.

Change-Id: I62504bad9454b3d9fde7b84ab9f0a487a2ecf0bf
2014-01-27 14:45:44 -08:00
Colin Cross
d0378b3f2d warn on LOCAL_MODULE_PATH in multiarch shared libraries
Using LOCAL_MODULE_PATH in a shared library module while building a
multiarch target will cause build rules for both architectures to install
into the same path.  Warn and suggest LOCAL_MODULE_RELATIVE_PATH.

Change-Id: I16208ccada6d43a26a342af35096f49d8df26e81
2014-01-27 14:43:24 -08:00
Colin Cross
639c336dc1 Support LOCAL_MODULE_RELATIVE_PATH
Most users of LOCAL_MODULE_PATH are setting a subdirectory of the
normal install path, for example to install HALs into system/lib/hw.
This is problematic for multiarch builds, where the install location
depends on the arch.  Allow modules to specify LOCAL_MODULE_RELATIVE_PATH.
HALs will generally use:
LOCAL_MODULE_RELATIVE_PATH := hw

Change-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e
2014-01-27 14:43:14 -08:00
Andrew Boie
f3ec9ed045 collect_gpl_sources.mk: Declare rule to assemble GPL sources FORCE
We have no rigorous way to detect whether the code referenced for this
mechanism changes in between builds. So declare this as a phony target
so that it is rebuilt every time.

Change-Id: Ie1670d96895719d406e7b0defd53ba3cd224dd83
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2014-01-27 12:25:43 -08:00
Ying Wang
18294fbf8c Merge "Support arch-specific LOCAL_C_INCLUDES." 2014-01-27 18:28:35 +00:00
Ying Wang
dbdafdb865 Support arch-specific LOCAL_C_INCLUDES.
Bug: 11654773
Change-Id: I89c7ce7ff8bea15cb81f9cd9b0188b54beed3422
2014-01-27 10:27:19 -08:00
Takeshi Kanemoto
e153b34643 ota_from_target_files: Add an option to not sign OTA packages
Sometimes it is useful to be able to tell ota_from_target_files
to not sign the output zip file. For instance, the private
release key may not be available when ota_from_target_files
is executed; similarly the release tools may not be available
or executable where the private key is stored.

This change adds an option, '--no_signing', to simply output the
unsigned OTA zip file, instead of spuriously signing it with the
test key even though the zip file would need to be re-signed later
with a different key.

Change-Id: I1f3c4dc8ffa35ce85478f848b147aff3d40fe283
2014-01-27 15:01:04 +09:00
Colin Cross
7c7f28e710 Merge changes Ib1d950e1,I3d020a3c,Ic9594718
* changes:
  Add 2nd arch directories for apps
  Set up rules to build prebuilts for TARGET_2ND_ARCH
  Set up rules to build packages for TARGET_2ND_ARCH
2014-01-25 00:46:33 +00:00
Colin Cross
d9574462d8 Add 2nd arch directories for apps
Apps built for 2nd arch install in the same directories as when
built for the 1st arch.

Change-Id: Ib1d950e186eef88212b44d04e6bc6c30a3d56155
2014-01-24 16:44:06 -08:00
Colin Cross
0b70c4374c Set up rules to build prebuilts for TARGET_2ND_ARCH
Prebuilts built for the 2nd arch will install into 2nd arch
directories.

Change-Id: I3d020a3c1fb0f2eb0579933f8a66e410e66fdd44
2014-01-24 16:44:02 -08:00
Colin Cross
2343cfbe3d Set up rules to build packages for TARGET_2ND_ARCH
Packages built for the 2nd arch will depend on jni libraries
build for the 2nd arch.

Change-Id: Ic9594718849b2577920c500c35d46150eb948c8d
2014-01-24 16:04:19 -08:00
Ying Wang
2c0260abc7 Merge "build: print module that has unhandled install path" 2014-01-24 21:45:49 +00:00
Colin Cross
b34911cadf build: print module that has unhandled install path
Print the name of the module that is providing an unhandled install
path.

Change-Id: I0e8b02f01de1dde715f0985034ad943f793218ba

Conflicts:
	core/base_rules.mk
2014-01-24 13:44:11 -08:00
Ying Wang
125ddab1fb Merge "build: use correct arm vs thumb arguments for 2nd arch builds" 2014-01-24 21:42:43 +00:00
Colin Cross
6e087a339b build: use correct arm vs thumb arguments for 2nd arch builds
Set arm_objects_mode and normal_objects_mode when building a
module for arm when it is the 2nd arch.

Change-Id: I5f7df519b6e1dde6cbf92d106681f07a58e1f1f2
2014-01-24 13:42:01 -08:00
Ying Wang
f2044b41cf Merge "build: use arm kernel headers for arm 2nd arch builds" 2014-01-24 21:41:25 +00:00
Colin Cross
c3256c770d build: use arm kernel headers for arm 2nd arch builds
Compiling for arm requires using the arm kernel headers and not
the aarch64 kernel headers.  Add $(combo_2nd_arch_prefix) to get
asm-$(TARGET_2ND_ARCH) when arm is the 2nd arch.

Change-Id: I15270d0ef35e48c034bf4d0d5e35b76f67b2a8e1
2014-01-24 13:41:00 -08:00
Ying Wang
e778ec89fd Merge "Support arch-specific LOCAL_ variables" 2014-01-24 21:40:39 +00:00
Ying Wang
3beb831c79 Merge "Make sure to install the .odex when running "make <module_name>"" 2014-01-24 21:40:26 +00:00
Ying Wang
9e21bcdc88 Merge "Support to build executables for TARGET_2ND_ARCH" 2014-01-24 21:40:12 +00:00
Ying Wang
7da9740acd Merge "Replace all references to LOCAL_GENERATED_SOURCES with my_generated_sources" 2014-01-24 21:39:59 +00:00
Ying Wang
a07de328e0 Merge "Set up rules to build shared libraries for TARGET_2ND_ARCH" 2014-01-24 21:39:48 +00:00
Ying Wang
e7345edc11 Merge "Set up rules to build static libraries for TARGET_2ND_ARCH" 2014-01-24 21:39:29 +00:00
Ying Wang
732bdb28f2 Merge "Load compiler environment for a second arch." 2014-01-24 21:39:15 +00:00
Ying Wang
b8e0185489 Support arch-specific LOCAL_ variables
With those variables, you can set up different values for TARGET_ARCH
and TARGET_2ND_ARCH.
Also fixed a couple of variables.

Bug: 11654773
Change-Id: I4c7684a562cd5877d18f67d4f848b8df07d0103b

Conflicts:
	core/base_rules.mk
2014-01-24 13:38:34 -08:00
Ying Wang
5c7fed28f2 Make sure to install the .odex when running "make <module_name>"
Change-Id: I64195294dad15b7d379d667f4c4738c2808fd384
2014-01-24 13:37:11 -08:00
Ying Wang
dd814bf8c2 Support to build executables for TARGET_2ND_ARCH
By default, an executable is built for TARGET_ARCH.
To build it for TARGET_2ND_ARCH in a 64bit product, use:
LOCAL_32BIT_ONLY := true
To skip a module for TARGET_2ND_ARCH, use:
LOCAL_NO_2ND_ARCH := true

Bug: 11654773
Change-Id: Ieb293d25b21024bfe1b554044df338e064ac7b46
2014-01-24 13:36:30 -08:00
Ying Wang
ec6d6262ac Replace all references to LOCAL_GENERATED_SOURCES with my_generated_sources
Now the RS generated sources are only appended to my_generated_sources.

Bug: 11654773
Change-Id: If8dbf3c08fed0b9945dd32b8c809331c17c4bc85
2014-01-24 13:35:47 -08:00
Ying Wang
4d2cc665ea Set up rules to build shared libraries for TARGET_2ND_ARCH
The rules for the 2nd arch are set up in the second inclusion
of shared_library_internal.mk.
Intermediate fils of libfoo of the 2nd arch will be built into
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/SHARED_LIBRARIES/libfoo_intermediates/
and the built libfoo.so will be in
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/lib.

Bug: 11654773
Change-Id: I58bbe5a05a65f63bce6279131552f3792000716e
2014-01-24 13:35:30 -08:00
Ying Wang
6ef6519170 Set up rules to build static libraries for TARGET_2ND_ARCH
The rules for the 2nd arch are set up in the second inclusion
of static_library_internal.mk.
libfoo of the 2nd arch will be built into
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/libfoo_intermediates/libfoo.a.

Bug: 11654773
Change-Id: I1d92733968fc442e9225b4df5bd1b551a81d89f7
2014-01-24 13:35:09 -08:00