Commit graph

3751 commits

Author SHA1 Message Date
Colin Cross
44a752659c build: support LOCAL_*_32 and LOCAL_*_64
Support the following new variables based on whether the current multilib
target is 32 bit or 64 bit:
LOCAL_CFLAGS_32
LOCAL_CFLAGS_64
LOCAL_LDFLAGS_32
LOCAL_LDFLAGS_64
LOCAL_ASFLAGS_32
LOCAL_ASFLAGS_64
LOCAL_C_INCLUDES_32
LOCAL_C_INCLUDES_64

Change-Id: Ia868d56dff114be301bf8297eec768675f186927
2014-01-29 18:35:23 -08:00
Ian Rogers
61e5059ef7 Fix the host inttypes.h problem globally.
Bug: 12708004
Change-Id: I2c75647bac304b82e150c540b9e6c5568997596d
2014-01-29 16:29:11 -08:00
Elliott Hughes
e7bd4f5cdf am 472a4858: Merge "gtest needs -lpthread."
* commit '472a48585ec1cfb66c5716f85b0efdf528b29f5d':
  gtest needs -lpthread.
2014-01-29 01:50:34 +00: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
Elliott Hughes
1a0e850141 am 1a731adf: Merge "Fix KERNEL_HEADERS_ARCH for mips and x86."
* commit '1a731adf943bc716cc7b9c95b321db02ad7216db':
  Fix KERNEL_HEADERS_ARCH for mips and x86.
2014-01-28 21:29:52 +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
d3737d07c8 am 49eb4409: Merge "build: PRODUCT_DEX_PREOPT_IMAGE_IN_DATA"
* commit '49eb440980db6680ec08c48b416e37e937bf9003':
  build: PRODUCT_DEX_PREOPT_IMAGE_IN_DATA
2014-01-28 20:50:19 +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
Colin Cross
0d24616dd1 am cdd14758: Merge "Add support for TARGET_GLOBAL_UNSUPPORTED_CFLAGS"
* commit 'cdd1475834156b2e45b73ae86a949efa6c1215eb':
  Add support for TARGET_GLOBAL_UNSUPPORTED_CFLAGS
2014-01-28 02:31:18 +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
4fbf23ef82 am 0a3cf1a0: Merge "Remove libthread_db from the default include path."
* commit '0a3cf1a0e5c6dbe132c1dc5e13293960c5e7b103':
  Remove libthread_db from the default include path.
2014-01-28 00:43:29 +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
Colin Cross
ae49acbde7 am 1acb1b64: Merge changes I62504bad,I16208cca,I4e4ceec6
* commit '1acb1b64b9be43503fa2a9949858b8bb36417e32':
  add new gen/ directory for generated sources
  warn on LOCAL_MODULE_PATH in multiarch shared libraries
  Support LOCAL_MODULE_RELATIVE_PATH
2014-01-27 15:40:22 -08: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
50c548c8f4 am 25a16fe8: Merge "Don\'t modify LOCAL_MODULE_TAGS."
* commit '25a16fe80ee7795c4763045061779f3c7068813d':
  Don't modify LOCAL_MODULE_TAGS.
2014-01-27 15:25:35 -08: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
0105f1cc9a am 07b16c0d: Merge "collect_gpl_sources.mk: Declare rule to assemble GPL sources FORCE"
* commit '07b16c0d5be77e53325a9f93c2f7f68632417792':
  collect_gpl_sources.mk: Declare rule to assemble GPL sources FORCE
2014-01-27 14:57:57 -08: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
f2777de639 am 18294fbf: Merge "Support arch-specific LOCAL_C_INCLUDES."
* commit '18294fbf8c133aaaa5a97a6f36ab92d41aa8e13a':
  Support arch-specific LOCAL_C_INCLUDES.
2014-01-27 11:20:13 -08:00
Ying Wang
dbdafdb865 Support arch-specific LOCAL_C_INCLUDES.
Bug: 11654773
Change-Id: I89c7ce7ff8bea15cb81f9cd9b0188b54beed3422
2014-01-27 10:27:19 -08:00
Colin Cross
4a1f42d70e am 7c7f28e7: Merge changes Ib1d950e1,I3d020a3c,Ic9594718
* commit '7c7f28e71044ca04d368dec626faba37fe74818d':
  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-24 16:52:14 -08: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
5cc096b73b am 2c0260ab: Merge "build: print module that has unhandled install path"
* commit '2c0260abc7099c79646928cc5a60eeba282736ad':
  build: print module that has unhandled install path
2014-01-24 13:53:47 -08:00
Ying Wang
f34c4c71b8 am 125ddab1: Merge "build: use correct arm vs thumb arguments for 2nd arch builds"
* commit '125ddab1fbf084d25c1fa2c43c735f4ff4636f80':
  build: use correct arm vs thumb arguments for 2nd arch builds
2014-01-24 13:50:20 -08:00
Ying Wang
4e08d3049b am f2044b41: Merge "build: use arm kernel headers for arm 2nd arch builds"
* commit 'f2044b41cf11e584ab5df87b6a11f04ae26c6865':
  build: use arm kernel headers for arm 2nd arch builds
2014-01-24 13:46:57 -08:00
Ying Wang
0c09d5b2ab am e778ec89: Merge "Support arch-specific LOCAL_ variables"
* commit 'e778ec89fd249e15608b7629963619d99e8a34bf':
  Support arch-specific LOCAL_ variables
2014-01-24 13:46:56 -08:00
Ying Wang
23752157bc am 3beb831c: Merge "Make sure to install the .odex when running "make <module_name>""
* commit '3beb831c79b6051e881d17979981a846259bcd99':
  Make sure to install the .odex when running "make <module_name>"
2014-01-24 13:46:55 -08:00
Ying Wang
746d1f732f am 9e21bcdc: Merge "Support to build executables for TARGET_2ND_ARCH"
* commit '9e21bcdc880e1769a4abe31836884f69752fc35e':
  Support to build executables for TARGET_2ND_ARCH
2014-01-24 13:46:55 -08: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
c236e00e88 am 7da9740a: Merge "Replace all references to LOCAL_GENERATED_SOURCES with my_generated_sources"
* commit '7da9740acdf30356512bea414d4af6efd6db3e40':
  Replace all references to LOCAL_GENERATED_SOURCES with my_generated_sources
2014-01-24 13:43:31 -08:00
Ying Wang
52afa28f31 am a07de328: Merge "Set up rules to build shared libraries for TARGET_2ND_ARCH"
* commit 'a07de328e0557068f2503ed0aa20ddc684ed1c40':
  Set up rules to build shared libraries for TARGET_2ND_ARCH
2014-01-24 13:43:30 -08:00
Ying Wang
382ad032cb am e7345edc: Merge "Set up rules to build static libraries for TARGET_2ND_ARCH"
* commit 'e7345edc1100ffd33e6434b0edc9d3b0f09d5c94':
  Set up rules to build static libraries for TARGET_2ND_ARCH
2014-01-24 13:43:29 -08:00
Ying Wang
d6c4fcabf6 am 732bdb28: Merge "Load compiler environment for a second arch."
* commit '732bdb28f2e39cf97b22271481b2249b22add87f':
  Load compiler environment for a second arch.
2014-01-24 13:43:29 -08: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
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
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
Ying Wang
1d274d2686 Load compiler environment for a second arch.
This is the first step to build 32-bit libraries in a 64-bit product.
It will work like this:
1) In the product's BoardConfig.mk, define:
TARGET_2ND_ARCH, TARGET_2ND_ARCH_VARIANT, TARGET_2ND_CPU_VARIANT.
The build system uses those variables to set up an additional compiler
environment for the second arch.

2) When parsing Android.mks, the build system sets up rules to build a
module for both the 1st arch and the 2nd arch, unless it's explicitly
asked to skip so.
Android.mk will be adapted if there is additional rule of generating
source files.
The build system will accept arch-specific LOCAL_ variables, such as
LOCAL_CFLAGS_arm, LOCAL_CFLAGS_armv7-a-neon, LOCAL_CFLAGS_cortex-a15,
LOCAL_CFLAGS_aarch64 etc. Modules use such variables to set up build for
various archs at the same time.

3) Install binary of the 2nd arch by adding "<module_name>:32" to
PRODUCT_PACKAGES. All 2nd-arch libraries linked in by "<module_name>:32"
will be installed automatically.

Bug: 11654773
Change-Id: I2df63cd5463a07bf5358bee2a109f8fb9590fe30

Conflicts:
	core/combo/TARGET_linux-arm.mk
2014-01-24 13:34:26 -08:00
Colin Cross
f81cc531b4 am d5227a83: Merge "build: rename aarch64 target to arm64"
* commit 'd5227a833cde624532ec34e8b25c29af001e427f':
  build: rename aarch64 target to arm64
2014-01-24 12:42:35 -08:00
Colin Cross
4f0eb7d50c build: rename aarch64 target to arm64
Rename aarch64 build targets to arm64.  The gcc toolchain is still
aarch64.

Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
2014-01-23 22:39:38 -08:00
Ying Wang
f5db454865 am 62043de3: Merge "Revert "Fix filter rule when checking for apks in PRODUCT_COPY_FILES.""
* commit '62043de346dff2d31c58bc8c002699fc74d1351c':
  Revert "Fix filter rule when checking for apks in PRODUCT_COPY_FILES."
2014-01-21 19:57:41 -08:00
Ying Wang
62043de346 Merge "Revert "Fix filter rule when checking for apks in PRODUCT_COPY_FILES."" 2014-01-22 03:48:59 +00:00
Ying Wang
06b3255118 Revert "Fix filter rule when checking for apks in PRODUCT_COPY_FILES."
This reverts commit ca37190711.

Change-Id: I3a76f4cdf92ecbe3059bf5856cf341874e1393cf
2014-01-22 03:48:27 +00:00
Ying Wang
70cc85533d am 8d1f91fa: Merge "Fix filter rule when checking for apks in PRODUCT_COPY_FILES."
* commit '8d1f91fa548c80357fffbdbdd5dcccc3c461c9ec':
  Fix filter rule when checking for apks in PRODUCT_COPY_FILES.
2014-01-21 12:36:33 -08:00
Ying Wang
8d1f91fa54 Merge "Fix filter rule when checking for apks in PRODUCT_COPY_FILES." 2014-01-21 20:31:31 +00:00
Ying Wang
aa7548683b am 6ec35451: Merge "Add missing paren in "java -version" check"
* commit '6ec3545158f49f521c53c9474cfb28c1a1811fd3':
  Add missing paren in "java -version" check
2014-01-21 11:54:58 -08:00
Brian Carlstrom
0cf57dc99f Add missing paren in "java -version" check
Change-Id: Id66e795423e8d25b48ac996956748a93060ea5db
2014-01-20 23:48:45 -08:00
Robert Craig
ca37190711 Fix filter rule when checking for apks in PRODUCT_COPY_FILES.
PRODUCT_COPY_FILES entries can include the src:dest:owner
syntax versus src:dest. This causes the filter to miss
certain cases. Instead use the word-colon function to
grab the dest regardless of syntax.

Change-Id: I1f4e57a236c1db148bada0cfe5bd1e87bb1194d6
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2014-01-17 09:13:50 -05:00
Ying Wang
a296a71e0c am 166bc090: Merge "[MIPS] Reenable linker fatal-warnings"
* commit '166bc090ab0ac7ac7a620889fd96656be4ca69c1':
  [MIPS] Reenable linker fatal-warnings
2014-01-15 17:08:22 -08:00
Chris Dearman
13eb1eb53d [MIPS] Reenable linker fatal-warnings
Change-Id: I4efbb7d0b1026b49a9b8bf968dd4752fca8a543b
2014-01-15 19:00:37 +00:00
Ying Wang
14af5526b5 am c4c71f06: Merge "Remove aprof support from the build system."
* commit 'c4c71f06ab002c4b12042ba7752272311b62b0f9':
  Remove aprof support from the build system.
2014-01-14 15:36:57 -08:00
Ying Wang
4587455075 Remove aprof support from the build system.
This reverts the commit 70dc3e1d.

Change-Id: I480b005579805d2608d05dac41e32bb44642e813
2014-01-14 14:26:05 -08:00
Ying Wang
b6c570510a am f5ce4fa9: Merge "Install 64-bit libraries to /system/lib64."
* commit 'f5ce4fa983f08d42bbc5d96af4f86bce5c190f0c':
  Install 64-bit libraries to /system/lib64.
2014-01-14 12:08:32 -08:00
Ying Wang
c634974d37 Install 64-bit libraries to /system/lib64.
/system/lib always contains 32-bit libraries, and /system/lib64 (if
present) always contains 64-bit libraries.
Move things around a little bit, so TARGET_ARCH can be used to define
the build paths.

Bug: 11654773
Change-Id: I2edd91e162c7a20d7719d7bae15e5fa6c2a5b498
2014-01-13 16:20:31 -08:00
Elliott Hughes
dda9d8ee0f am 37c699c2: Merge "Remove obsolete CUSTOM_KERNEL_HEADERS."
* commit '37c699c28a464561b186ab11a5af60214ae25d9a':
  Remove obsolete CUSTOM_KERNEL_HEADERS.
2014-01-10 16:47:30 -08:00
Elliott Hughes
37c699c28a Merge "Remove obsolete CUSTOM_KERNEL_HEADERS." 2014-01-11 00:41:25 +00:00
Elliott Hughes
dddb566eba Remove obsolete CUSTOM_KERNEL_HEADERS.
Change-Id: Id260dd351b90f065eee56e231d4c341b18c1b27f
2014-01-10 16:35:08 -08:00
Ying Wang
0650d4a2ea am 987616ed: Merge "Fix x86_64 build"
* commit '987616ed09adc65e6636f7a3a82fa7b38021b6e2':
  Fix x86_64 build
2014-01-10 09:38:13 -08:00
Pavel Chupin
522b0a633c Fix x86_64 build
Issue introduced here:
https://android-review.googlesource.com/#/c/71842/

Change-Id: I8a60641ff07173fcedf259df89aaaa4bc6d6ea3e
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-01-10 19:23:08 +04:00
Brian Carlstrom
98c7252113 am ad8271a8: Merge "Add support for ALTERNATE_JAVAC"
* commit 'ad8271a8e6a1f050c1852d6dc3df0eb6777e5606':
  Add support for ALTERNATE_JAVAC
2014-01-09 18:36:22 -08:00
Brian Carlstrom
ad8271a8e6 Merge "Add support for ALTERNATE_JAVAC" 2014-01-10 02:31:26 +00:00
Ying Wang
cb5f9a282e am a26ea82e: Merge "Define PRIVATE_TARGET_ variables for only target modules."
* commit 'a26ea82e6a226575f19fec6b5bea111cbe20c233':
  Define PRIVATE_TARGET_ variables for only target modules.
2014-01-09 16:32:07 -08:00
Brian Carlstrom
b6dcef8777 Add support for ALTERNATE_JAVAC
Bug: 12476356
Change-Id: Idd013031dc32a560bca76cca295bedcad55982b4
2014-01-09 15:33:23 -08:00
Ying Wang
7fff9a1a56 Define PRIVATE_TARGET_ variables for only target modules.
Change-Id: I12c54bfffd9acb78a61d1032a087a0edaf3bf12c
2014-01-09 14:39:41 -08:00
Ying Wang
b5fb7f242e am aed49987: Merge "Allow clang to build host binaries."
* commit 'aed499879210c7432c1c5b3869f383b27b17dafc':
  Allow clang to build host binaries.
2014-01-09 10:57:03 -08:00
Ying Wang
aed4998792 Merge "Allow clang to build host binaries." 2014-01-09 18:52:06 +00:00
Ying Wang
95fc1a5075 am f12d4810: Merge "PRODUCT_BOOT_JARS as a list of jar names separated by space"
* commit 'f12d48104ba782d877afc31a081748fdc881f2b6':
  PRODUCT_BOOT_JARS as a list of jar names separated by space
2014-01-07 16:50:49 -08:00
Ying Wang
ad6674cd60 PRODUCT_BOOT_JARS as a list of jar names separated by space
This makes it easier for OEMs to extend the PRODUCT_BOOT_JARS in their
product configuration files.

Change-Id: I5feca2f808b1914c275f28c7a4c38cca2ba6851f
2014-01-07 14:31:49 -08:00
Logan Chien
e6f65438a4 Allow clang to build host binaries.
Change-Id: I7e4f9dc6f69a97cfefdfa2ed55c5d7b8ad496da7
2014-01-07 14:49:20 +08:00
Ying Wang
f05eecc368 am a47d12e3: Merge "Remove LOCAL_SRC_FILES as precondition of enabling dexpreopt"
* commit 'a47d12e38ae38a6fdceb54172490c94408efa0de':
  Remove LOCAL_SRC_FILES as precondition of enabling dexpreopt
2014-01-03 17:59:59 -08:00
Ying Wang
9db168ca5c Remove LOCAL_SRC_FILES as precondition of enabling dexpreopt
Because a library or app can be built from mere static libraries,
or generated java files. For example, framework is built from only
static library framework-base but without LOCAL_SRC_FILES.
Also added framework2 to PRODUCT_PACKAGES.
Previously framework2.jar was installed by dependency explicitly
established in frameworks/base/Android.mk. That's not enough for the
.odex file.
This fixed the boot failure reported in bug 12382916.

Bug: 12382916
Change-Id: If1a70261ab2bb7fef77cf7b7b995bdc029be0fc3
2014-01-03 17:53:00 -08:00
Michael Runge
41e19a4cf0 am 6b55f007: am facd992e: Makefile used spaces instead of a tab
* commit '6b55f00762c03b3625862b89f704090f58f970e7':
  Makefile used spaces instead of a tab
2013-12-26 15:33:32 -08:00
Michael Runge
5636d07a29 am a80542db: am 4038aa8f: Enabled incrementals to patch + rename moved files
* commit 'a80542dbf4f193c59525b8749871bcdf4ae4283a':
  Enabled incrementals to patch + rename moved files
2013-12-26 15:33:27 -08:00
Elliott Hughes
9464ca1b97 am b8559790: Merge "Remove a non-existent directory from the include path."
* commit 'b8559790d43f2483c7910e87e33ceebeb40e9bec':
  Remove a non-existent directory from the include path.
2013-12-20 15:57:57 -08:00
Elliott Hughes
26990f5573 Remove a non-existent directory from the include path.
Brings aarch64 in line with the other architectures.

Change-Id: Iba3fd33e34e3b5bc071f55cfe09de9e55a023cf7
2013-12-20 15:37:55 -08:00
Michael Runge
6b55f00762 am facd992e: Makefile used spaces instead of a tab
* commit 'facd992ec73de763cfbca32dd6aa38ff76a07613':
  Makefile used spaces instead of a tab
2013-12-20 12:36:49 -08:00
Michael Runge
facd992ec7 Makefile used spaces instead of a tab
Change-Id: Ia34f80d99062ef2899527f11d7bf72e78c63e31c
2013-12-20 11:50:16 -08:00
Michael Runge
a80542dbf4 am 4038aa8f: Enabled incrementals to patch + rename moved files
* commit '4038aa8fff8c68733bff8b55d8c8d1b59713ca37':
  Enabled incrementals to patch + rename moved files
2013-12-20 11:35:07 -08:00
Elliott Hughes
d46e3f1fdf am 3d3dd4a1: Merge "Fix aarch64 and x86-64 AndroidConfig.h."
* commit '3d3dd4a186309a62a744d7fea1157158e05bcf6e':
  Fix aarch64 and x86-64 AndroidConfig.h.
2013-12-18 15:35:58 -08:00
Elliott Hughes
3d3dd4a186 Merge "Fix aarch64 and x86-64 AndroidConfig.h." 2013-12-18 23:31:47 +00:00
Elliott Hughes
98593a66af Fix aarch64 and x86-64 AndroidConfig.h.
_LARGEFILE_SOURCE should never be defined with bionic.
_FILE_OFFSET_BITS should be 64 on 64-bit architectures.

Change-Id: I7acf6b39a3af7782d5d7ad00f709593d96fa8522
2013-12-18 15:17:42 -08:00
Ying Wang
6cc89747ec am 8e3a71f7: Merge "Simplify the calculation of LOCAL_UNSTRIPPED_PATH"
* commit '8e3a71f75e08b4ad580903f2edc7edea5dc07806':
  Simplify the calculation of LOCAL_UNSTRIPPED_PATH
2013-12-18 10:55:54 -08:00
Ying Wang
f3584968ff Simplify the calculation of LOCAL_UNSTRIPPED_PATH
Also this fixes the LOCAL_UNSTRIPPED_PATH if the module is installed to
the vendor dir via LOCAL_PROPRIETARY_MODULE.

Bug: 11289169
Change-Id: Ib07e5761411210963076487fe0e148c259e1e082
2013-12-18 10:41:01 -08:00
Ying Wang
d32aaf9374 am 3fc636c2: Merge "Create the dest dir before copying over files."
* commit '3fc636c25af0ddcce6ebe6f99a1d7ca83b84f69a':
  Create the dest dir before copying over files.
2013-12-17 17:45:32 -08:00
Ying Wang
17a7e2bee3 Create the dest dir before copying over files.
Change-Id: I8ad79704558d7a10099e64fc1d032c8ddd3330b9
2013-12-17 17:37:16 -08:00
Ying Wang
82c59aefcd am 71e8a22e: Merge "Add DEXPREOPT support for ART"
* commit '71e8a22e3478b6b4277957ef47486058a5306286':
  Add DEXPREOPT support for ART
2013-12-17 16:58:43 -08:00
Ying Wang
71e8a22e34 Merge "Add DEXPREOPT support for ART" 2013-12-18 00:55:28 +00:00
Christopher Ferris
7bda5aacb1 am d12ee620: Merge "Re-enable uapi kernel headers for arm."
* commit 'd12ee620b064d262abce691771fe53ba8987d06f':
  Re-enable uapi kernel headers for arm.
2013-12-17 15:11:58 -08:00
Christopher Ferris
d12ee620b0 Merge "Re-enable uapi kernel headers for arm." 2013-12-17 23:06:38 +00:00
Brian Carlstrom
ced4bff58e Add DEXPREOPT support for ART
Change-Id: I24d0d7b2a23a769f5d69bd4dc14be22e1475b759
2013-12-17 14:44:00 -08:00
Elliott Hughes
861fea291d am 3fd89533: Merge "Make aarch64 more like arm wrt strict-aliasing."
* commit '3fd895336dc7cfe219be4e1d49096bf53e661503':
  Make aarch64 more like arm wrt strict-aliasing.
2013-12-17 07:42:33 -08:00
Elliott Hughes
c294779d7f Make aarch64 more like arm wrt strict-aliasing.
All thumb code compiles with -fno-strict-aliasing. Let's not make aarch64
porting any more difficult than it needs to be.

Change-Id: I94874df1217b69532c328d7c86c9961631ebde8a
2013-12-16 18:01:19 -08:00
Christopher Ferris
9824ce4e1d Re-enable uapi kernel headers for arm.
Bug: 11559337
Change-Id: Ib914e5f22b10d5a74edc357d42b0dcb223185ab4
2013-12-16 13:58:39 -08:00
Michael Runge
4038aa8fff Enabled incrementals to patch + rename moved files
Change-Id: I551fc5291847e3ace15361c203d86f566c26da97
2013-12-16 11:29:51 -08:00
Christopher Ferris
7f36451b83 am 657eadd4: Merge "Revert "Enable uapi kernel headers for arm.""
* commit '657eadd4b78b91185ca2042ffb7f92be84e6c1c4':
  Revert "Enable uapi kernel headers for arm."
2013-12-16 10:33:03 -08:00
Christopher Ferris
e2c73b3194 Revert "Enable uapi kernel headers for arm."
This reverts commit 88c6c533e1.

Change-Id: I3cd84383c6f217bc6e627e16b2d0c7d948f8131d
2013-12-16 18:21:27 +00:00
Christopher Ferris
9c15d11156 am 84b99aad: Merge "Enable uapi kernel headers for arm."
* commit '84b99aadddf3cd9d02a60b43923ed11fc7341c9f':
  Enable uapi kernel headers for arm.
2013-12-16 09:57:57 -08:00
Christopher Ferris
88c6c533e1 Enable uapi kernel headers for arm.
Bug: 11559337
Change-Id: Idd251338f707b7c6a08f43a79f9784c57142f43c
2013-12-16 09:12:19 -08:00
Ying Wang
d93df33212 am 10b1ffae: Merge "enable PIE for dynamically linked Linux host executables"
* commit '10b1ffaed921bce3014d39ca9dcb705550aa03f0':
  enable PIE for dynamically linked Linux host executables
2013-12-13 10:24:12 -08:00
Joshua J. Drake
b0eafa21b9 enable PIE for dynamically linked Linux host executables
Compile all host programs for Android with -fPIE and -pie. This
enables PIE (Position Independent Executables), which helps
protect these applications from exploitation due to memory
management bugs.

Note: PIE *static* executables are not supported at this time. darwin
and windows are also not supported.

Change-Id: I67c1be297711ea23064c349f97ebd02eef3eff09
2013-12-12 17:36:53 -08:00
Ying Wang
c5e3539b6f am 5859f105: Merge "Enable NX protections"
* commit '5859f105fad3ce1ba76fb252c4c5b8fe357a3ce4':
  Enable NX protections
2013-12-12 16:09:43 -08:00
Ying Wang
5859f105fa Merge "Enable NX protections" 2013-12-13 00:04:42 +00:00
Ben Cheng
af3d1408be am 2609640e: Merge "Add an explicit definition of __ANDROID__=1"
* commit '2609640eaea1ba89a493cff2847cb9ec993dc9fc':
  Add an explicit definition of __ANDROID__=1
2013-12-12 13:57:55 -08:00
Ben Cheng
cd7b02d911 Add an explicit definition of __ANDROID__=1
Once the aarch64 toolchain is refreshed this will be removed.
Also removed some CFLAG duplications.

Change-Id: I42fd86931263af82042ea696196fb25e948fe9cb
2013-12-12 13:08:55 -08:00
Joshua J. Drake
afb45637b2 Enable NX protections
Add -Wa,--noexecstack and -Wl,-z,noexecstack as default
flags when compiling host-side applications.  This enables
NX protections, which prevent code from executing on the
stack or heap.  NX protections make exploiting memory
corruption issues more challenging and is an important
security feature.

Change-Id: Iae580abe887e01f9029ec2a4e0fc0aae496724a4
2013-12-12 10:47:08 -08:00
Ying Wang
0e2779bdbb am 8a373fd5: Merge "Added TARGET_IS_64_BIT flag for x86_64 and aarch64"
* commit '8a373fd5aef4eafbd716abe517a99ef0b3d69094':
  Added TARGET_IS_64_BIT flag for x86_64 and aarch64
2013-12-11 10:11:21 -08:00
Ying Wang
8a373fd5ae Merge "Added TARGET_IS_64_BIT flag for x86_64 and aarch64" 2013-12-11 17:52:26 +00:00
Alexey Volkov
a1779eb11b Added TARGET_IS_64_BIT flag for x86_64 and aarch64
Change-Id: Ibdf9dafa3aeaf4b58b4a559ed05e36e2793bf6ed
Signed-off-by: Alexey Volkov <alexey.v.volkov@intel.com>
2013-12-11 17:18:56 +04:00
Ying Wang
68abe34c98 am c2f639a1: Merge "Add "-encoding UTF-8" option to javadoc."
* commit 'c2f639a179b3085c7f61a8d71d2ee7b3ff6c9266':
  Add "-encoding UTF-8" option to javadoc.
2013-12-10 11:36:18 -08:00
Ying Wang
34e3e170e4 Add "-encoding UTF-8" option to javadoc.
This fixed docs build on Mac OS X 10.9 with Java 7.
Change-Id: I91e224456c9e6c43dbf13d691c3b37d21f94b0f3
2013-12-10 11:30:01 -08:00
Narayan Kamath
b8d3879e62 am 99bb0365: am 948206c0: Merge "Fix tools path on Mac OS for java 7."
* commit '99bb0365d53186c8ece6ac4e61ca2d303d0e0f0a':
  Fix tools path on Mac OS for java 7.
2013-12-06 09:16:18 -08:00
Narayan Kamath
0e4cccbff6 am a8dcc8c8: am fe57f665: Merge "A few more Java7 related clean ups."
* commit 'a8dcc8c81a567902bee69a8dcd7357d391ef39b9':
  A few more Java7 related clean ups.
2013-12-06 09:16:18 -08:00
Narayan Kamath
99bb0365d5 am 948206c0: Merge "Fix tools path on Mac OS for java 7."
* commit '948206c026c8751b9d53341dfe9c2c2905ebb002':
  Fix tools path on Mac OS for java 7.
2013-12-06 09:13:58 -08:00
Narayan Kamath
a8dcc8c81a am fe57f665: Merge "A few more Java7 related clean ups."
* commit 'fe57f665074665edf469ad1e1d0fcef749f9a5bb':
  A few more Java7 related clean ups.
2013-12-06 09:13:58 -08:00
The Android Open Source Project
722581a598 Merge commit 'd54f8c2d1b4d88db84465fee93aa29103ca32078' into HEAD
Change-Id: I3cf53f083dee277a450dac36b011bc83180f6294
2013-12-05 12:59:39 -08:00
Ying Wang
c404d34282 am 7493c39e: Add utility function find-files-in-subdirs
* commit '7493c39eff203ed027b0f0ea320c26dd7d895b22':
  Add utility function find-files-in-subdirs
2013-12-05 10:39:42 -08:00
Ying Wang
7493c39eff Add utility function find-files-in-subdirs
find-files-in-subdirs uses utility find to find given files in the given
subdirs. This function uses $(1), instead of LOCAL_PATH as the base.

Change-Id: Ib76631c97acd257d651a580cbad767606874f5d0
(cherry picked from commit 85898bca99)
2013-12-05 18:37:20 +00:00
Narayan Kamath
ab2e2e792e Fix tools path on Mac OS for java 7.
Change-Id: Ieb72b9e10771ee372bacf20258242cb006c29fef
2013-12-05 17:56:23 +00:00
Ying Wang
e2d5b7772b am e65c2969: Merge "Add utility function find-files-in-subdirs"
* commit 'e65c29697ac2cad422a094720944d326128f17c3':
  Add utility function find-files-in-subdirs
2013-12-05 06:22:37 -08:00
Narayan Kamath
e2d27887be A few more Java7 related clean ups.
- Separate SDK checking from version checking and
  make messages clearer.
- Add explicit source & target versions for javac to
  make things clearer.
- Rename flag from EXPERIMENTAL_USE_JAVA7_OPENJDK to
  EXPERIMENTAL_USE_JAVA7.
- Allow Oracle JDK 1.7 to be used on Mac OS, since there's
  no official OpenJDK support for that platform.

Change-Id: I454d2c917ed78f03ec7559a99659fefe7e7d50f3
2013-12-05 13:23:06 +00:00
Ying Wang
7c8c7bd4b6 Add utility function find-files-in-subdirs
find-files-in-subdirs uses utility find to find given files in the given
subdirs. This function uses $(1), instead of LOCAL_PATH as the base.

Change-Id: Ib76631c97acd257d651a580cbad767606874f5d0
2013-12-04 16:56:38 -08:00
Joe Onorato
0df5e7b365 am 36b89ff9: Add a convenient target for building a zip file of javadocs: -docs.zip
* commit '36b89ff93fe1fe55351564c258023255d70b6378':
  Add a convenient target for building a zip file of javadocs: $(LOCAL_MODULE)-docs.zip
2013-12-04 09:43:06 -08:00
Joe Onorato
36b89ff93f Add a convenient target for building a zip file of javadocs: $(LOCAL_MODULE)-docs.zip
Change-Id: I97fcc0d467f3b7582570b9be7e15acc0a5b550a5
2013-12-04 02:32:06 -08:00
Dave Langemak
c58cdd36af am 48130ea9: am 63ac2753: .1 becomes .2
* commit '48130ea9dead7ab64a389b84aaf9d8a8597e3079':
  .1 becomes .2
2013-12-03 15:27:52 -08:00
Dave Langemak
63ac275378 .1 becomes .2
Change-Id: Ib4208e24e66b05ff441302a817be22ea213eb1df
2013-12-03 15:06:56 -08:00
Doug Zongker
a6fadb61ca am 57c9ffef: am 9b23f2cd: add option to generate two-step recovery files
* commit '57c9ffef30a6f34e126d8e89a08d208b05cc4901':
  add option to generate two-step recovery files
2013-12-03 08:58:11 -08:00
Ying Wang
04324c2780 am 6178f6f0: Merge "Run ar in Deterministic mode."
* commit '6178f6f0182b0b9c8063123dd62e86108eb7a212':
  Run ar in Deterministic mode.
2013-12-02 14:26:45 -08:00
Ying Wang
b2f39181c6 Run ar in Deterministic mode.
Unfortunately no such flag was found for the host ar on Mac OS X.
https://code.google.com/p/android/issues/detail?id=60705

Change-Id: Ic2f75c871f0b5ae3cf20c1255458f7b921054d67
2013-12-02 14:15:23 -08:00
Ying Wang
71e5dd3055 am 7a772619: Merge "core: support make 4.00"
* commit '7a77261988354b13996e5ba84b87351b571a5a52':
  core: support make 4.00
2013-12-02 11:22:26 -08:00
Ying Wang
7a77261988 Merge "core: support make 4.00" 2013-12-02 19:16:02 +00:00
Stephen Hines
8d28269837 am 65ca752a: Merge "Add FORCE_BUILD_RS_COMPAT option."
* commit '65ca752aa18d6cd24196b5ba0fd6f53af49f8c56':
  Add FORCE_BUILD_RS_COMPAT option.
2013-11-27 15:26:48 -08:00
Stephen Hines
4e12f542be Add FORCE_BUILD_RS_COMPAT option.
This enables the .so libraries to be built for apps using the
RenderScript support library. Traditionally, we trim these .so
files from full platform builds.

Change-Id: I6f8e9b8d2b671338d3d5a5ac0bfcc60fd448688b
2013-11-27 14:54:15 -08:00
Doug Zongker
9b23f2cd78 add option to generate two-step recovery files
When run with the -2 option, ota_from_target_files will generate a
package (full or incremental) that does some extra reboots in order to
install the new recovery first, so that the rest of the installation
is done with the new recovery.  This can be useful if (say) the
package installation needs some features from the newer kernel.

For incremental packages, the verification phase is still done with
the old recovery.

This is only supported on devices where the misc partition is EMMC
(not MTD).

Two-step packages are slower to install and possibly confusing to
users (they will see their device reboot four times instead of twice),
so only use this option if necessary.

Change-Id: I3267d905e5e8eb1a1eb61bf48255b8b24ffc4ad1
2013-11-27 11:27:55 -08:00
Elliott Hughes
38b14290ea am 66153e38: Merge "Switch x86 over to uapi-only."
* commit '66153e38b0fb9525ff6a63eb757b79694b8ad5e2':
  Switch x86 over to uapi-only.
2013-11-26 10:57:07 -08:00
Elliott Hughes
66153e38b0 Merge "Switch x86 over to uapi-only." 2013-11-26 18:51:47 +00:00
Narayan Kamath
61d57a4d01 am 7519d737: Merge "Add experimental flag to support OpenJDK builds."
* commit '7519d7378052be1824c06c2b6d5cee07874e2b45':
  Add experimental flag to support OpenJDK builds.
2013-11-26 10:08:49 -08:00
Ying Wang
e475ee0ca4 am 0b25d9fa: Merge "Change build id to OPENMASTER"
* commit '0b25d9fa70931a544a04cd7ba3f587bd2473c43a':
  Change build id to OPENMASTER
2013-11-26 10:05:24 -08:00
Narayan Kamath
7519d73780 Merge "Add experimental flag to support OpenJDK builds." 2013-11-26 18:01:17 +00:00