Commit graph

3834 commits

Author SHA1 Message Date
Elliott Hughes
8b20d5b97e Merge "Turn 64-bit-related warnings into errors on 64-bit builds." 2014-02-06 20:54:05 +00:00
Chris Dearman
1efd9e462a [MIPS64] Add mips64 target
Change-Id: Ice1621101c0d5a3314db288542ca8020e3f406bf
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-02-05 19:07:57 -08:00
Christopher Ferris
afbbce3ff1 Merge "Add library test makefile solutions." 2014-02-06 02:16:35 +00:00
Elliott Hughes
18042e1960 Turn 64-bit-related warnings into errors on 64-bit builds.
I don't think we can realistically turn this on for 32-bit builds any
time soon.

Also, fix the arm64 stack-protector hack.

Change-Id: Ie1e7c875bbc06fb21bb372b8ca99879a23ef53d4
2014-02-05 17:40:02 -08:00
Christopher Ferris
70ca5e5b39 Add library test makefile solutions.
Change-Id: Ibc8df9b0e2342683158936bf011425780df8f02a
2014-02-05 16:36:42 -08:00
Colin Cross
90353fe86f add support for more LOCAL_*_arch variables
Add support for:
LOCAL_SHARED_LIBRARIES_arch
LOCAL_STATIC_LIBRARIES_arch
LOCAL_WHOLE_STATIC_LIBRARIES_arch
LOCAL_GENERATED_SOURCES_arch
LOCAL_REQUIRED_MODULES_arch

Change-Id: Iad91702e140d8dba7dcaee13f236c77b1e626a34
2014-02-04 19:44:57 -08:00
Colin Cross
aee1e779f4 don't rename 32-bit executables to *_32
Renaming 32-bit executables to *_32 breaks PRODUCT_PACKAGES
dependencies.

Change-Id: I53d89991633ef4af03c4e618c463769937a70e38
2014-02-04 19:44:09 -08:00
Colin Cross
ec14ce578b remove 2nd arch from ARCH_ARM_* defines
Users of ARCH_ARM_* defines don't care about first vs. second arch,
set ARCH_ARM_* regardless of which arch is arm.

Change-Id: I2ae83ec5c3f839ff91a0e352c95d76ec2cbd5dc5
2014-02-04 19:44:09 -08:00
Colin Cross
5394bf1950 Fix installing 2nd arch shared libraries
2ND_TARGET_DEPENDENCIES_ON_SHARED_LIBRARIES was not set,
which was causing the later += to act like = instead of
:=, and the dependencies would disappear as soon as
LOCAL_MODULE was cleared.

Change-Id: Idea291524fc06377deafec62f37d20eaa7f93bca
2014-02-04 19:44:09 -08:00
Tim Murray
5352018b0b Merge "Add new rs directory to list of Java subdirs of fw/base." 2014-02-03 22:35:54 +00:00
Ying Wang
3136010cdd Dedup the targets and dependencies of required modules.
For whatever reason, two modules may have the same file as their
installed module. In that case circular dependency is created if the two
modules have requited-by relation.

Change-Id: I15ed271ca3f3c343e4662182ded5ccc63d6c42cc
2014-01-31 19:22:35 -08:00
Tim Murray
f6752d303f Add new rs directory to list of Java subdirs of fw/base.
Change-Id: I3213a314e7700162e781526c0450678495442759
2014-01-31 12:32:42 -08:00
Brian Carlstrom
49f1fab8a5 build: Rename persist.sys.dalvik.vm.lib to allow new default
Bug: 12798969
Change-Id: Ie73a3f2b6655d0ae3e3a905a1c64747343c525a0
2014-01-30 13:16:37 -08:00
Ian Rogers
d206afecb8 Disable WITH_HOST_DALVIK on 64bit host builds.
Change-Id: I8cea32fe5541c3223e7f317245aab3061e8ad444
2014-01-30 08:55:17 -08:00
Ian Rogers
694b2b7b12 Define __STDC_FORMAT_MACROS on Windows host builds.
Change-Id: I89b54a63c3f111b8242fe9e813d94a839c484195
2014-01-29 21:37:37 -08:00
Colin Cross
78d642f426 build: rename LOCAL_32BIT_ONLY to LOCAL_32_BIT_ONLY
Rename for consistency with TARGET_IS_64_BIT.

Change-Id: I824dcaed0c1e88b8246bcffb21ab3f1772175926
2014-01-29 18:35:23 -08:00
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
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
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
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
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
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
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
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
dbdafdb865 Support arch-specific LOCAL_C_INCLUDES.
Bug: 11654773
Change-Id: I89c7ce7ff8bea15cb81f9cd9b0188b54beed3422
2014-01-27 10:27:19 -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
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
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
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
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
8d1f91fa54 Merge "Fix filter rule when checking for apks in PRODUCT_COPY_FILES." 2014-01-21 20:31:31 +00: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
Chris Dearman
13eb1eb53d [MIPS] Reenable linker fatal-warnings
Change-Id: I4efbb7d0b1026b49a9b8bf968dd4752fca8a543b
2014-01-15 19:00:37 +00: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
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
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
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
ad8271a8e6 Merge "Add support for ALTERNATE_JAVAC" 2014-01-10 02:31:26 +00: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
aed4998792 Merge "Allow clang to build host binaries." 2014-01-09 18:52:06 +00: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
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
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
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
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
17a7e2bee3 Create the dest dir before copying over files.
Change-Id: I8ad79704558d7a10099e64fc1d032c8ddd3330b9
2013-12-17 17:37:16 -08:00
Ying Wang
71e8a22e34 Merge "Add DEXPREOPT support for ART" 2013-12-18 00:55:28 +00: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
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
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
88c6c533e1 Enable uapi kernel headers for arm.
Bug: 11559337
Change-Id: Idd251338f707b7c6a08f43a79f9784c57142f43c
2013-12-16 09:12:19 -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
5859f105fa Merge "Enable NX protections" 2013-12-13 00:04:42 +00: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
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
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
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
Narayan Kamath
ab2e2e792e Fix tools path on Mac OS for java 7.
Change-Id: Ieb72b9e10771ee372bacf20258242cb006c29fef
2013-12-05 17:56:23 +00: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
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
7a77261988 Merge "core: support make 4.00" 2013-12-02 19:16:02 +00: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
Elliott Hughes
66153e38b0 Merge "Switch x86 over to uapi-only." 2013-11-26 18:51:47 +00:00
Narayan Kamath
7519d73780 Merge "Add experimental flag to support OpenJDK builds." 2013-11-26 18:01:17 +00:00
Ying Wang
0b25d9fa70 Merge "Change build id to OPENMASTER" 2013-11-26 17:51:12 +00:00
Ying Wang
7738e721fa Merge "Version number change for AOSP master" 2013-11-26 17:50:35 +00:00
Ying Wang
ad69099131 Add experimental flag to support OpenJDK builds.
bug: 8992787

(cherry picked from commit d1dbe7f5a2)

Change-Id: Ie977d4f26ae8d3eee9d7b9cf2c0c270bee5b54b3
2013-11-26 10:30:14 +00:00
Chirayu Desai
e131cf8486 Version number change for AOSP master
Change-Id: I49ef02f99c6428bc538ba3839a0314d977f65e07
2013-11-26 08:29:29 +05:30
Elliott Hughes
e5df095b76 Switch x86 over to uapi-only.
Bug: 11559337
Change-Id: I95aa40ec2094acdaef1d4b4d9f0dd6278cf558d1
2013-11-25 16:38:47 -08:00
Elliott Hughes
b88bdebcb9 Switch MIPS over to uapi-only.
Bug: 11559337
Change-Id: I04b93d0d681ddf75573cdeca2d25ffa44862a35f
2013-11-25 14:01:10 -08:00
Elliott Hughes
a5b55c27c0 Merge "Add a "reverse AUX hack" for ARM." 2013-11-25 21:42:12 +00:00
Dave Allison
014a3c0d62 Add support for instruction set features
This adds the --instruction-set-features= arguments to the dex2oat
commands for the system images.  The feature set is determined at
build time

(cherry picked from commit 4145a2a20a0f275fe4c77e39d507cd5f8eb7a73b)

(cherry picked from commit 5174bb0529)

Change-Id: I45af3b59752a48897bff2dd468b74f3ea73000be
2013-11-25 12:27:24 -08:00
Elliott Hughes
9696acae02 Add a "reverse AUX hack" for ARM.
MIPS and x86 are almost completely switched over to uapi-only. ARM is still
currently old-only. A cleanup of the uapi headers over the weekend means
that the uapi-only <linux/kexec.h> is now in the right place, which will break
the ARM build unless the ARM build also looks in the uapi headers if it can't
find an old header.

Change-Id: Ie7a53ef2122b43cdef64b71d7b36a8381992a461
2013-11-25 12:06:25 -08:00
Narayan Kamath
40dae1fefa Rework the generation of host java libraries.
We currently have two types of host libraries, those
meant for the host VM (Sun, OpenJDK etc.) and those meant
for a host dalvik build. The former need to be compiled
against the host standard libraries and the latter need
to be compiled against libcore. This change introduces
two new build rules to complement the existing the existing
host rules.

BUILD_HOST_DALVIK_JAVA_LIBRARY : Build a java library for
a host build of dalvik. Bootclasspath will be set to a host
build of libcore.
BUILD_HOST_DALVIK_STATIC_JAVA_LIBRARY : Build a static java
library for a host build of dalvik. Bootclasspath will be set
to a host build of libcore.

This change also removes support for the LOCAL_BUILD_HOST_DEX
flag, which is now unnecessary.

bug: 8992787

(cherry picked from commit 0dd273a3f6)

Change-Id: I3569fff8eaa4d26d55fcc317bd98471f55d74c14
2013-11-25 10:17:53 +00:00
Chirayu Desai
ab5e1624f0 Change build id to OPENMASTER
Change-Id: I2ca9b8de815c9c9e7e9d4c5a616e4ae270992761
2013-11-25 15:37:46 +05:30
The Android Open Source Project
b9041a45b1 Merge commit 'c73341006286c391ae4d268a77f5e008045d5308' into HEAD
Change-Id: I4bf7d32d65e19dfa1f0533fdd3b2295c50b13005
2013-11-22 11:06:11 -08:00
Elliott Hughes
a59b8545cf am e296f2c3: Merge "Switch mips to the uapi kernel headers."
* commit 'e296f2c38279836e23e15fad0064a88dbfe058e7':
  Switch mips to the uapi kernel headers.
2013-11-20 13:30:29 -08:00
Elliott Hughes
66ef53d83b Switch mips to the uapi kernel headers.
Bug: 11559337
Change-Id: Ic37b284398c049011f98651de84cef760566ebde
2013-11-20 12:55:09 -08:00
Elliott Hughes
bd36506ee4 am e57c8446: Merge "Switch x86 to uapi headers."
* commit 'e57c8446f0fa8e02b27e0b77aee7a2b62784cc54':
  Switch x86 to uapi headers.
2013-11-19 17:16:24 -08:00
Elliott Hughes
2d9dc89962 Switch x86 to uapi headers.
We still need the 'aux' hack, but this is a good step forward.

Bug: 11559337
Change-Id: Ib3d79317293e1cd3d2620c38e6b472a5994ee554
2013-11-19 16:55:00 -08:00
Ying Wang
1b4252cd03 am 0f78b47b: Merge "Switch AOSP X86/MIPS compiler to gcc4.8"
* commit '0f78b47bb304bc6f9597dd0788c60eb4f83d9ea0':
  Switch AOSP X86/MIPS compiler to gcc4.8
2013-11-15 14:56:50 -08:00
Andrew Hsieh
8baaca5f97 Switch AOSP X86/MIPS compiler to gcc4.8
Change-Id: Ifeee2c7d696c8a8e96e52c6ca51434260bdae5f8
2013-11-15 10:25:58 +08:00
Dianne Hackborn
d54f8c2d1b am 1611712d: am 221fcf31: Merge "Just a little .1 makes all the difference in the world." into klp-dev
* commit '1611712dac98d13e24ac6056405713d4994d25a5':
  Just a little .1 makes all the difference in the world.
2013-11-14 15:44:33 -08:00
Ben Cheng
9a1f26e425 am 2e6753a0: am de9b1835: Merge "Switch AOSP ARM build to use GCC 4.8."
* commit '2e6753a058a766d7c0607437224470c14574a94e':
  Switch AOSP ARM build to use GCC 4.8.
2013-11-14 14:14:22 -08:00
Ben Cheng
2e6753a058 am de9b1835: Merge "Switch AOSP ARM build to use GCC 4.8."
* commit 'de9b1835b3f3a025c2ab57154d0b5840469868f6':
  Switch AOSP ARM build to use GCC 4.8.
2013-11-14 14:09:57 -08:00
Ben Cheng
818d7d04f5 Switch AOSP ARM build to use GCC 4.8.
Change-Id: I65051773153ad5bc2c093cd1313acd212eb427b1
2013-11-14 14:05:29 -08:00
Dianne Hackborn
b6ab1203fb Just a little .1 makes all the difference in the world.
Change-Id: I4c4d8f507f9e81a632e22612043dc904694c5497
2013-11-14 12:06:49 -08:00
Ying Wang
e4ab2f9608 am 18b86b97: am 77f27f1d: Merge "Cleanup x86 and x86_64 flags"
* commit '18b86b97b83e7d254125723363f170bc6f8d391e':
  Cleanup x86 and x86_64 flags
2013-11-13 21:02:17 -08:00
Ying Wang
18b86b97b8 am 77f27f1d: Merge "Cleanup x86 and x86_64 flags"
* commit '77f27f1dbe485d80692102743529e6973ba4a121':
  Cleanup x86 and x86_64 flags
2013-11-13 20:57:48 -08:00
Ying Wang
77f27f1dbe Merge "Cleanup x86 and x86_64 flags" 2013-11-14 04:54:55 +00:00
Elliott Hughes
693a26ba55 am f8c5a6ae: am bd10e2c0: Merge "Switch x86_64 over to uapi headers."
* commit 'f8c5a6ae006cfa8a6e30b850cbf930a043e5e842':
  Switch x86_64 over to uapi headers.
2013-11-08 14:54:12 -08:00
Elliott Hughes
f8c5a6ae00 am bd10e2c0: Merge "Switch x86_64 over to uapi headers."
* commit 'bd10e2c019b9f6a6e13f050c0e52924f456e482f':
  Switch x86_64 over to uapi headers.
2013-11-08 14:52:30 -08:00
Elliott Hughes
bd10e2c019 Merge "Switch x86_64 over to uapi headers." 2013-11-08 22:50:55 +00:00
Elliott Hughes
600b973722 Switch x86_64 over to uapi headers.
Bug: 11559337
Change-Id: Ia0a8dff9194375172d1c89daae917d2d8952ace7
2013-11-08 14:47:10 -08:00
Raphael Moll
e9966aab80 am 79a9a324: am 3342bf0f: Merge "Windows SDK: define BEGIN_DECLS/END_DECLS."
* commit '79a9a3243ae701e7bc40b85b4a085ad91821d921':
  Windows SDK: define BEGIN_DECLS/END_DECLS.
2013-11-08 13:38:54 -08:00
Raphael Moll
79a9a3243a am 3342bf0f: Merge "Windows SDK: define BEGIN_DECLS/END_DECLS."
* commit '3342bf0fea22efeb3df0a4e3a3c50fb78ecf96ff':
  Windows SDK: define BEGIN_DECLS/END_DECLS.
2013-11-08 13:36:17 -08:00
Raphael Moll
b9c20aa8ba Windows SDK: define BEGIN_DECLS/END_DECLS.
These macros are not provided by MingW by default.

Change-Id: I623fda6c8e25e26573543c9368ebad47abc7f5c3
2013-11-08 11:40:41 -08:00
Michael Runge
3b44339d6a am 37335b42: Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add.
* commit '37335b42385970d957d48056145a3d4c4dbc6087':
  Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add.
2013-11-07 15:00:42 -08:00
Michael Runge
37335b4238 Enable incremental builder to find files that moved, and
try to process them via patch + rename, instead of
delete + add.

b/11437930

Change-Id: Ie70632a2fa0a13d4bb259f61c620bb01812494e5
2013-11-07 11:36:03 -08:00
Elliott Hughes
36e681b02a resolved conflicts for merge of 12f87a5b to klp-dev-plus-aosp
Change-Id: I8ce0a86bbaae0c1e3ce5ed46de628ea22ea17d16
2013-11-07 09:08:00 -08:00
Elliott Hughes
12f87a5b77 am a05365ce: Merge "Remove the hacks needed to support ash and mksh concurrently."
* commit 'a05365ceceaead86651f61f7ba66153e36b7be5d':
  Remove the hacks needed to support ash and mksh concurrently.
2013-11-07 08:35:17 -08:00
Elliott Hughes
32bfd70333 Remove the hacks needed to support ash and mksh concurrently.
We no longer have ash, and we'd rather not have unnecessary symbolic links
on the system.

Change-Id: Icfb1a51f1baaf1861c203f6ed93843b094deb65d
2013-11-05 11:13:49 -08:00
Elliott Hughes
92303c47b9 am e19ebfee: am a7f254fe: Merge "Remove shell_ash; ash is but ashes."
* commit 'e19ebfee3cede975d0dce0b0badf1251c44ec453':
  Remove shell_ash; ash is but ashes.
2013-11-05 10:35:26 -08:00
Elliott Hughes
e19ebfee3c am a7f254fe: Merge "Remove shell_ash; ash is but ashes."
* commit 'a7f254feb77db5a1358be869c39757eab487bbde':
  Remove shell_ash; ash is but ashes.
2013-11-05 10:30:03 -08:00
Elliott Hughes
17753f5c6a Remove shell_ash; ash is but ashes.
Change-Id: I88040e39c51986b14e3a764e7bb9e2c8c05ed86b
2013-11-05 09:05:50 -08:00
Ben Cheng
0ad7a37150 am d16a4913: am 48c4bac0: Merge "AArch64: Enable AArch64 support"
* commit 'd16a49134914eec45f395c867f9e8e282009fffe':
  AArch64: Enable AArch64 support
2013-10-30 10:33:24 -07:00
Ben Cheng
d16a491349 am 48c4bac0: Merge "AArch64: Enable AArch64 support"
* commit '48c4bac05f86b712f40b3a2f7dd846ed8f5eb0a4':
  AArch64: Enable AArch64 support
2013-10-30 10:30:42 -07:00
Ben Cheng
74a8faf233 AArch64: Enable AArch64 support
This patch completes the support for AArch64. It adds the last few
tweaks that will enable a AArch64 build of bionic.

Please note that though AArch64 uses the new kernel infrastructure,
where the userspace exported headers live in uapi folders, we still
need to include "kernel/common" in the include search path
(take a look at external/kernel-headers/uapi/asm-generic/signal-defs.h).

Also remove the relro linker flags for now as they crash the foundation
model.

Change-Id: Ie2fa8c1056c84dc15fec4469f2d65b8d0c5e712b
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-29 16:15:40 -07:00
Ben Cheng
281778a373 am 72e9dab0: am 7b954f4c: Merge "Add the search path for libgcc.a and crt*.o."
* commit '72e9dab0127e4200d5770d0fa7944fc0db29632b':
  Add the search path for libgcc.a and crt*.o.
2013-10-28 10:52:52 -07:00
Ben Cheng
72e9dab012 am 7b954f4c: Merge "Add the search path for libgcc.a and crt*.o."
* commit '7b954f4c77aa49633caac196dd9343775d05e81a':
  Add the search path for libgcc.a and crt*.o.
2013-10-28 10:48:10 -07:00
Ben Cheng
71c36eb451 Add the search path for libgcc.a and crt*.o.
Change-Id: I727f5630f7667b98770d779d43be6a7901471c55
2013-10-28 10:33:55 -07:00
Ben Cheng
4f2abfff48 am 24834ffd: am 4f92abad: Merge "Two quick fixes: fix kernel header location and nostdlib."
* commit '24834ffddd64f80c93089033c214f0996c2f18c6':
  Two quick fixes: fix kernel header location and nostdlib.
2013-10-25 18:13:14 -07:00
Ben Cheng
24834ffddd am 4f92abad: Merge "Two quick fixes: fix kernel header location and nostdlib."
* commit '4f92abad95f724c0bf29c93d6b1c8fff41049007':
  Two quick fixes: fix kernel header location and nostdlib.
2013-10-25 16:11:34 -07:00
Ben Cheng
4f92abad95 Merge "Two quick fixes: fix kernel header location and nostdlib." 2013-10-25 16:36:40 +00:00
Ben Cheng
e61dea99c3 Two quick fixes: fix kernel header location and nostdlib.
Change-Id: Idf2d101e16e895ca75a74a095091e3543b2b482b
2013-10-25 09:34:29 -07:00
Nick Kralevich
3ee5710d69 am 0f798297: am 8c4efac5: Merge "x86: turn on -Wl,--fatal-warnings"
* commit '0f798297636ea07f1a87412776d48a57888ea8fe':
  x86: turn on -Wl,--fatal-warnings
2013-10-24 14:40:00 -07:00
Nick Kralevich
0f79829763 am 8c4efac5: Merge "x86: turn on -Wl,--fatal-warnings"
* commit '8c4efac588d695b11ed341a0e4531d3e220dbe8c':
  x86: turn on -Wl,--fatal-warnings
2013-10-24 14:36:38 -07:00
Nick Kralevich
46ed4aa58b x86: turn on -Wl,--fatal-warnings
In 4f2f16da14, we added
-Wl,--warn-shared-textrel to TARGET_GLOBAL_LDFLAGS. This generated
a warning whenever we created a shared library with a text
relocation.  At the time, we wrote:

=====
Emit a warning when the static linker detects a shared library
has text relocations. Text relocations make it harder to
share pages across processes, and make it harder to use
certain memory protection features in, for example, SELinux.

This warning will turn into an error in a future change
(via --fatal-warnings)
=====

All code which uses text relocations has either been fixed, or
we've temporarily worked around the issue so the code can still
compile.

Enable --fatal-warnings.

Bug: 11353056
Change-Id: I2f2c65352166ef0a96f54858de1556f0290fe306
2013-10-24 13:36:08 -07:00
Colin Cross
2df0464a54 am a2ccae25: Merge "avoid // in copy headers rule" into klp-dev
* commit 'a2ccae2546db082e571168650b279125bfceb861':
  avoid // in copy headers rule
2013-10-23 18:30:02 -07:00
Colin Cross
a6c4ebdd11 avoid // in copy headers rule
If LOCAL_COPY_HEADERS_TO is not set, then the copy headers rule
target is set to out/target/product/../obj/include//header.h.
If another rule depends on the header without the //, it will
fail.  Don't insert LOCAL_COPY_HEADERS_TO if it is blank.

Change-Id: Ideac7f8e01288ab5cca98645b307945d6ae9e97c
2013-10-23 13:18:39 -07:00
Ben Cheng
8f55b16fb6 am ad6996a6: am 34cf868b: Merge "Point to the uapi header location for aarch64."
* commit 'ad6996a611c0af563edcb352828d3bd55cf85585':
  Point to the uapi header location for aarch64.
2013-10-18 12:11:34 -07:00
Ben Cheng
ad6996a611 am 34cf868b: Merge "Point to the uapi header location for aarch64."
* commit '34cf868be4c7da1e58324051b968021742727692':
  Point to the uapi header location for aarch64.
2013-10-18 12:07:23 -07:00
synergydev
2b537262fe core: support make 4.00
Make 4.00 is now out, and builds work fine with it.

Change-Id: I49e36d651a7997a52270badb0e8badd975f64e8f
2013-10-17 12:49:07 -07:00
Ben Cheng
5797382b53 Point to the uapi header location for aarch64.
Change-Id: Ic42f5520eb0711c35aaf7106939ef83e449bda74
2013-10-16 12:28:38 -07:00
Ed Heyl
8f9b10e53b am 866db61f: update dev build ID
* commit '866db61fff4f6939a5655429b0600d8395acb7d7':
  update dev build ID
2013-10-15 10:53:39 -07:00
Ed Heyl
866db61fff update dev build ID
Change-Id: Icb95a91c7d7ed6754438b5d6bd188cdb3f85a005
2013-10-15 10:37:53 -07:00
Pavel Chupin
f0a4855574 Cleanup x86 and x86_64 flags
-mandroid, -D__ANDROID__ is on by the toolchain;
-msse3 moved to llvm_config, it seems it's required only there;
__cxa_atexit is provided by libc now;
USE_SSE2 should not be used anywhere, it's always true;
remove -mstackreallign and -mfpmath=sse as useless for x86_64;

Change-Id: Ib7739f6522c375c09de10d22616c48a493841c4c
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-15 18:15:57 +04:00
Ian Rogers
b07a5f8257 am 09c6d68b: am 816af5fc: Merge "Specify -mcpu=cortex-a15 for krait CPU variants."
* commit '09c6d68b8879164f600bbe084a62cfbc4ab10850':
  Specify -mcpu=cortex-a15 for krait CPU variants.
2013-10-11 17:35:09 -07:00
Ian Rogers
09c6d68b88 am 816af5fc: Merge "Specify -mcpu=cortex-a15 for krait CPU variants."
* commit '816af5fc0e4cf8f705ba0ffbb2842b5d7432e653':
  Specify -mcpu=cortex-a15 for krait CPU variants.
2013-10-11 17:33:16 -07:00
Ian Rogers
d195c6d14e Specify -mcpu=cortex-a15 for krait CPU variants.
Bug: 11178216

Change-Id: I9922e4cd5ba27e3857798aae5c84299e26e054ea
2013-10-11 16:24:32 -07:00
Ben Cheng
b8eaf684cb am 0f324e3e: am a7662295: Merge "Explictily specify the dynamic linker name."
* commit '0f324e3e35f1d5d55c7c06ac6b76a6ce7726e015':
  Explictily specify the dynamic linker name.
2013-10-08 14:47:34 -07:00
Ben Cheng
0f324e3e35 am a7662295: Merge "Explictily specify the dynamic linker name."
* commit 'a7662295438e50a22979a012c873e3d16444bc42':
  Explictily specify the dynamic linker name.
2013-10-08 14:44:22 -07:00
Ben Cheng
a766229543 Merge "Explictily specify the dynamic linker name." 2013-10-08 21:42:32 +00:00
Ben Cheng
98b8fdd975 Explictily specify the dynamic linker name.
Change-Id: Ie456f19cbe3dc8e3a9677638cc705b6eaf77c2b4
2013-10-08 14:19:50 -07:00
Dianne Hackborn
a3fd7bf0c4 am 6a4d3339: So long Key Lime Pie, it was nice knowing you.
* commit '6a4d33390769d80113f16d383506dc9238e1d5fc':
  So long Key Lime Pie, it was nice knowing you.
2013-10-08 12:08:36 -07:00
Elliott Hughes
5dec2c7703 am 1180d71c: am 2c448765: Merge "Remove explicit passing of dynamic loader name"
* commit '1180d71c3062a4f5b124ced3693a6a937ffbc13a':
  Remove explicit passing of dynamic loader name
2013-10-08 10:12:28 -07:00
Elliott Hughes
1180d71c30 am 2c448765: Merge "Remove explicit passing of dynamic loader name"
* commit '2c448765e1227327da7ce548114f13678baa9606':
  Remove explicit passing of dynamic loader name
2013-10-08 10:10:51 -07:00
Pavel Chupin
fde3c16420 Remove explicit passing of dynamic loader name
We should trust toolchain on that.

Change-Id: I20dd882d167cc84c262aef245ea2d86c17bc1785
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-08 11:35:39 +04:00
Ben Cheng
a698dab816 am 0b42554f: am 12eeb000: Merge "Add generic aarch64 board config and build rules."
* commit '0b42554fd8c7a43ca45504e4586f1eef578308de':
  Add generic aarch64 board config and build rules.
2013-10-07 14:42:10 -07:00
Ben Cheng
0b42554fd8 am 12eeb000: Merge "Add generic aarch64 board config and build rules."
* commit '12eeb000601883256f306c2c6932cda4d768e97a':
  Add generic aarch64 board config and build rules.
2013-10-07 14:40:42 -07:00
Ben Cheng
12eeb00060 Merge "Add generic aarch64 board config and build rules." 2013-10-07 21:38:02 +00:00
Ben Cheng
db4fc200c4 Add generic aarch64 board config and build rules.
Change-Id: I8b4a377596705dfa0a3bd234162d183ec2ae9530
2013-10-07 13:58:27 -07:00
Elliott Hughes
2e840a500e am a035abc5: am 1303aa28: Merge "Remove useless x86 options that were always hardcoded on."
* commit 'a035abc55455a50da7b242dad1bca55fa28617a9':
  Remove useless x86 options that were always hardcoded on.
2013-10-04 14:42:11 -07:00
Elliott Hughes
a035abc554 am 1303aa28: Merge "Remove useless x86 options that were always hardcoded on."
* commit '1303aa28d579244794a9d419481720af866c7de4':
  Remove useless x86 options that were always hardcoded on.
2013-10-04 14:40:14 -07:00
Elliott Hughes
d3f00c162b Remove useless x86 options that were always hardcoded on.
ARCH_X86_HAVE_MMX, ARCH_X86_HAVE_SSE, ARCH_X86_HAVE_SSE2,
and ARCH_X86_HAVE_SSE3 were all always on. There are no longer any makefiles
or code that are conditional on any of these, so let's just remove them
rather than encourage anyone to mess with knobs that don't work.

Change-Id: I5ee095e8041eecff4554ad4801894fbfca69093f
2013-10-04 11:45:06 -07:00
Colin Cross
8c6a66e959 am 36e95f31: Merge "don\'t check paths of non-installed or host modules" into klp-dev
* commit '36e95f316f660f3cf32dbd47bbafba0e2ee56ad9':
  don't check paths of non-installed or host modules
2013-10-03 15:38:36 -07:00
Dianne Hackborn
6a4d333907 So long Key Lime Pie, it was nice knowing you.
Now we are KitKat.

I mean Android 4.4 API 19.

Or whatever.

Bug: 10348975

Change-Id: Ic0fa9c82277bb6d6fb79e6095b5ec0e9eb35a04a
2013-10-03 12:30:00 -07:00
Colin Cross
36e95f316f Merge "don't check paths of non-installed or host modules" into klp-dev 2013-10-03 00:47:50 +00:00
Colin Cross
86b0dfb2d0 don't check paths of non-installed or host modules
Static libraries and host modules are not installed under
TARGET_OUT_VENDOR and don't need to be, relax the checks.

Change-Id: Ia8b926d466420a8b6dd418d5e95fdf5ff919e078
2013-10-02 15:33:05 -07:00
Ying Wang
320a91d36a am 9f615938: am 9a788285: Merge "Duplicate i686 target arch options for x86_64."
* commit '9f61593879325c987fc7593a5410bf3e0a535ff8':
  Duplicate i686 target arch options for x86_64.
2013-10-02 15:06:03 -07:00
Ying Wang
6a6db9432f am ab7b53b8: am 5d92a933: Merge "x86_64: Adding new target"
* commit 'ab7b53b8e09e3d346384a5257e8f7a440a53dfc0':
  x86_64: Adding new target
2013-10-02 15:06:02 -07:00
Ying Wang
9f61593879 am 9a788285: Merge "Duplicate i686 target arch options for x86_64."
* commit '9a78828590298001aacc425f9c0c8aae10366493':
  Duplicate i686 target arch options for x86_64.
2013-10-02 15:02:52 -07:00
Ying Wang
ab7b53b8e0 am 5d92a933: Merge "x86_64: Adding new target"
* commit '5d92a933dcc1a9ddb99b8818c8a13e208ffc22ce':
  x86_64: Adding new target
2013-10-02 15:02:51 -07:00
Ying Wang
9a78828590 Merge "Duplicate i686 target arch options for x86_64." 2013-10-02 22:00:26 +00:00
Chris Wren
67107450fa am d4b1d52b: support protos in host java libraries
* commit 'd4b1d52bb2970bbacfc5e45ba7692ce6e211fbc9':
  support protos in host java libraries
2013-10-02 12:33:03 -07:00
Chris Wren
d4b1d52bb2 support protos in host java libraries
Change-Id: Ia4499d439ea23ee4d6707cfb005b7230c0a2374f
2013-10-02 12:19:28 -07:00
Stephen Hines
147f66c1e8 Duplicate i686 target arch options for x86_64.
Change-Id: I94a18562c38a20bac526b348eb98c2aba67a431f
2013-10-02 11:35:29 -07:00
Pavel Chupin
fd82a49e04 x86_64: Adding new target
Add x86_64 Android builds. Compiler is expected to be able to understand
-m64 code generation option.

Change-Id: I99e7337c5a5766afc5e528a481bd21631ff44dd5
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-02 20:58:54 +04:00
Ying Wang
2ef85bd1ae am d74b538d: Add the FRAMEWORKS_BASE_JAVA_SRC_DIRS to aidl includes
* commit 'd74b538d9a45e7698f5bbe10e3908f64b65eb81e':
  Add the FRAMEWORKS_BASE_JAVA_SRC_DIRS to aidl includes
2013-10-02 09:37:05 -07:00
Ying Wang
d74b538d9a Add the FRAMEWORKS_BASE_JAVA_SRC_DIRS to aidl includes
only if the module is built against the platform, not the SDK.
Previously it added it if it's doing a platform build.
But we can do an apps_only build inside the platform source tree and
such a build may build modules against the platform.
This fixes the apps build in the platform source tree.

Change-Id: I73e32a8f0e505349790a102321f88e77fba472cd
2013-10-01 18:16:45 -07:00
Ying Wang
4c7a2c1207 am 392d042c: am b6da30c3: am 2408479c: Allow module to specify LOCAL_INSTALLED_MODULE_STEM
* commit '392d042c217b43d714e0bf5fe8f69cd2d0dbae90':
  Allow module to specify LOCAL_INSTALLED_MODULE_STEM
2013-09-25 12:40:29 -07:00
Ying Wang
392d042c21 am b6da30c3: am 2408479c: Allow module to specify LOCAL_INSTALLED_MODULE_STEM
* commit 'b6da30c3724cc2a452be2c1ae425eff4f7d55944':
  Allow module to specify LOCAL_INSTALLED_MODULE_STEM
2013-09-25 12:37:19 -07:00
Ying Wang
b6da30c372 am 2408479c: Allow module to specify LOCAL_INSTALLED_MODULE_STEM
* commit '2408479cf9cf9cfe87e464e9b5d2f36143818d37':
  Allow module to specify LOCAL_INSTALLED_MODULE_STEM
2013-09-25 12:35:04 -07:00
Ying Wang
2408479cf9 Allow module to specify LOCAL_INSTALLED_MODULE_STEM
With this change, you can install a shared library with module name foo
as bar.so to the system.img with:
LOCAL_INSTALLED_MODULE_STEM := bar.so
Note that we in general still disallow a static/shared library to
specify LOCAL_MODULE_STEM or LOCAL_BUILT_MODULE_STEM, because the build
system uses LOCAL_MODULE to compute build time dependencies, such as
export_includes, the -l linker flag etc.
Also, if you use LOCAL_INSTALLED_MODULE_STEM to change the installed
file name and if any other module links against this library, you may
run into runtime error: the library name baked in to the binary is not
the same as file name in the system image.

Change-Id: I55b571c8139c3bda07a4a0e50cea0f20d8d6c168
2013-09-25 12:30:59 -07:00
Eino-Ville Talvala
28db7b46dd am ac079b1d: Merge "Add android-ex-camera2 static java library to PDK." into klp-dev
* commit 'ac079b1da45431197cc9d821bf2234d2e65f28a9':
  Add android-ex-camera2 static java library to PDK.
2013-09-24 18:11:14 -07:00
Eino-Ville Talvala
ac079b1da4 Merge "Add android-ex-camera2 static java library to PDK." into klp-dev 2013-09-25 01:09:20 +00:00
Eino-Ville Talvala
735bba8be0 Add android-ex-camera2 static java library to PDK.
Library is located frameworks/ex/camera2/public.
This is required to allow pdk/apps/CameraITS to build in the PDK.

Bug: 10337323
Change-Id: I5b835134012f90462a70b9e38b69c3168df00cfd
2013-09-24 16:57:28 -07:00
Dan Willemsen
b885894123 am f47d5802: Don\'t check vendor path for phony packages
* commit 'f47d5802e627bf14cecc425b8c3e00e001c0f7c2':
  Don't check vendor path for phony packages
2013-09-24 10:43:54 -07:00
Dan Willemsen
f47d5802e6 Don't check vendor path for phony packages
These don't get installed, so they don't need to be in TARGET_OUT_VENDOR

Change-Id: I887ca4758e7c477808ed9a6b621dfd3f4ede5f32
2013-09-24 10:30:35 -07:00
Baligh Uddin
fe66c390fb bump version to 4.3.1 2013-09-23 15:05:45 -07:00
Brian Carlstrom
a0cf24a805 am 71fc41df: Enable art for user builds
* commit '71fc41df1eea345949e8e838b573ac367a52f9c7':
  Enable art for user builds
2013-09-19 16:03:32 -07:00
Brian Carlstrom
71fc41df1e Enable art for user builds
Bug: 10069754
Change-Id: Iaaff33a97bd7b68b2e8d84cd0034b15dde8a4316
2013-09-19 15:07:28 -07:00
Ying Wang
4a712bfb6f resolved conflicts for merge of 70190a2b to klp-dev-plus-aosp
Change-Id: I9abcb4e258ad95912860dcae2973c4e417b05369
2013-09-19 10:15:38 -07:00
Ying Wang
70190a2b02 am b71677b1: Merge "Extend x86 to have different arch variants"
* commit 'b71677b17cc0100caf16209bfcd1eee529e2eb5a':
  Extend x86 to have different arch variants
2013-09-19 09:47:27 -07:00
Ying Wang
b71677b17c Merge "Extend x86 to have different arch variants" 2013-09-19 16:45:16 +00:00
Negreanu Marius Adrian
ae5c0ab272 Extend x86 to have different arch variants
Author: Negreanu Marius Adrian <adrian.m.negreanu@intel.com>
Author: Andrew Boie <andrew.p.boie@intel.com>
Author: Daniel Leung <daniel.leung@intel.com>

Currently, x86 target only has generic i686 and x86-atom
as arch variants. This patch adds the ability to have
more than two arch variants. Defining a new arch variant
is similiar to ARM targets, by adding a new file in
core/combo/arch/x86. These files also define what
capabilities the targeting CPU has (e.g. having SSE2,
SSE3, etc.).

We define arch variants for Sandy Bridge, Ivy Bridge,
Haswell; upcoming arches can be easily added to this
set with future patches.

Change-Id: Iafbce10d205e860738db4a216ff603f9a84d7311
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2013-09-18 14:14:22 -07:00
Ying Wang
293ad10d25 Remove unnecessary dependencies between host and target modules.
With this change, modules introduced by LOCAL_REQUIRED_MODULES will be
split by host/target: target modules only depend on target modules and
host modules only depend on host modules.

Bug: 9303948
Change-Id: I4078a7983aa3c00e99534f3f170dfe4b66b12287
2013-09-18 09:01:03 -07:00
Ying Wang
7d153833d8 am a85afdb8: Merge "Add support for WITHOUT_CLANG"
* commit 'a85afdb83d4d9d0fb03024eee9937b0882dd81ad':
  Add support for WITHOUT_CLANG
2013-09-16 13:40:49 -07:00
Mike Lockwood
d90e2404dd Add support for WITHOUT_CLANG
(cherry picked from commit 051a1740eb)

Change-Id: I60b7d1fa958557d13b74563c07f694b86d6a6d6f
2013-09-16 10:20:08 -07:00
Ying Wang
c5c32d8f4a am fad629f4: am 7f2ad751: Merge "Switch x86 default compiler to multilib version"
* commit 'fad629f4dd07720b427c6a219ad93886e23ca277':
  Switch x86 default compiler to multilib version
2013-09-14 13:49:15 -07:00
Ying Wang
fad629f4dd am 7f2ad751: Merge "Switch x86 default compiler to multilib version"
* commit '7f2ad751aebf9d13d63f20a451c28d4a41c4569a':
  Switch x86 default compiler to multilib version
2013-09-14 13:47:03 -07:00
Ying Wang
7f2ad751ae Merge "Switch x86 default compiler to multilib version" 2013-09-14 20:45:00 +00:00
Ying Wang
13871a8f50 resolved conflicts for merge of 65d5e788 to klp-dev-plus-aosp
Change-Id: Iad8793c5e53b239425e9bba1b6a925265ff8d130
2013-09-13 17:50:29 -07:00
Ying Wang
65d5e78865 am 4b7d8f11: Merge "Fix parsing string parameters in BOARD_MKBOOTIMG_ARGS"
* commit '4b7d8f119a15a21445d6bc872b8e36e6f848e846':
  Fix parsing string parameters in BOARD_MKBOOTIMG_ARGS
2013-09-13 17:43:34 -07:00
Ying Wang
4b7d8f119a Merge "Fix parsing string parameters in BOARD_MKBOOTIMG_ARGS" 2013-09-14 00:41:30 +00:00
Ying Wang
8639f2dda2 am 3057adba: Drop the [no]proguard. prefix for the intermediate targets
* commit '3057adbace1eb57cd73f982eb06d897632ece554':
  Drop the [no]proguard. prefix for the intermediate targets
2013-09-12 21:37:25 -07:00
Ying Wang
3057adbace Drop the [no]proguard. prefix for the intermediate targets
Since we have enabled Progaurd for all build variants, we don't need the
different naming scheme along the path to make incremental build work
properly when you switch build variant.
As a result, this fixes the nothing-to-do-do-build-gets-something-build bug
introduced by the multi-dex change.

Change-Id: I907ff13091013d28910b0aa190b9218144385132
2013-09-12 17:50:11 -07:00
Scott Main
0e50619ad2 am 3938f3e1: am 7cba6168: am 9a3fb871: Merge "Revert "remove renderscript support lib from javadocs" ... put support lib javadocs for renderscript back in." into jb-mr2-ub-dev
* commit '3938f3e1af045e887735884b059224a86f46db74':
  Revert "remove renderscript support lib from javadocs" ... put support lib javadocs for renderscript back in.
2013-09-12 12:19:36 -07:00
Scott Main
3938f3e1af am 7cba6168: am 9a3fb871: Merge "Revert "remove renderscript support lib from javadocs" ... put support lib javadocs for renderscript back in." into jb-mr2-ub-dev
* commit '7cba6168c3cf7681e6200f78bfbf8deacc2f735c':
  Revert "remove renderscript support lib from javadocs" ... put support lib javadocs for renderscript back in.
2013-09-12 12:17:26 -07:00
Scott Main
7cba6168c3 am 9a3fb871: Merge "Revert "remove renderscript support lib from javadocs" ... put support lib javadocs for renderscript back in." into jb-mr2-ub-dev
* commit '9a3fb8711f93751ba3e709f4e99691147e6c2c93':
  Revert "remove renderscript support lib from javadocs" ... put support lib javadocs for renderscript back in.
2013-09-12 12:16:02 -07:00
Scott Main
9a3fb8711f Merge "Revert "remove renderscript support lib from javadocs" ... put support lib javadocs for renderscript back in." into jb-mr2-ub-dev 2013-09-12 19:14:19 +00:00
Kenny Root
ecbc22ead1 am 43077645: Merge "Add libcore.conscrypt tests back to CTS"
* commit '43077645b5ade27fafff808f11539f6a3e176544':
  Add libcore.conscrypt tests back to CTS
2013-09-12 11:55:42 -07:00
Scott Main
27597c4d8e Revert "remove renderscript support lib from javadocs"
... put support lib javadocs for renderscript back in.

This reverts commit 5b743677eb.

Change-Id: Ia093b04e79ed35d18d9ced7b827a0b06ec4439c1
2013-09-12 18:45:05 +00:00
Kenny Root
ebf1a97a67 Add libcore.conscrypt tests back to CTS
A reorganization of the libcore test jar files caused the Conscrypt
tests to be accidentally dropped from CTS. Add them back in their own
package.

(cherry picked from commit 69c00c9ee8)

Bug: 10210673
Change-Id: I5ffc62736d3dab7e96e480c593e07d6c640b8950
2013-09-12 09:48:13 -07:00
Kenny Root
f913c2dd77 resolved conflicts for merge of b4ada1cc to klp-dev-plus-aosp
Change-Id: Id312795c1401e00c81c9b8d0712222f2933d8fcd
2013-09-12 09:40:58 -07:00
Kenny Root
b4ada1cc94 am 14d43108: Merge "Add Junit4 to the classpath for CollectAllTests"
* commit '14d4310803ee2b9811a7adb381a2ca54b96aefe2':
  Add Junit4 to the classpath for CollectAllTests
2013-09-12 09:18:39 -07:00
Kenny Root
14d4310803 Merge "Add Junit4 to the classpath for CollectAllTests" 2013-09-12 05:26:01 +00:00
Andrew Hsieh
246daf755a resolved conflicts for merge of 2b5d2c55 to klp-dev-plus-aosp
Change-Id: Icd9d5eff3f9acba042c100f694309f902c9d56cf
2013-09-10 18:07:23 -07:00
Andrew Hsieh
2b5d2c55bf am b0f41737: Merge "Add "WITH_STATIC_ANALYZER=1 m/mm/mmm/mma/mmma ...""
* commit 'b0f4173700fc37d0765998e7c563c844ee4cbed1':
  Add "WITH_STATIC_ANALYZER=1 m/mm/mmm/mma/mmma ..."
2013-09-10 17:10:22 -07:00
Kenny Root
8509b0d6f9 Add Junit4 to the classpath for CollectAllTests
This is needed for CollectAllTests to work with Junit4 tests.

Change-Id: I5e339022220b8e40bcb12337a09f3615dad7d53c
2013-09-10 17:00:33 -07:00
Nick Kralevich
46f00b6167 am b5d4c0df: Merge "Update OTA to understand SELinux labels and capabilities" into klp-dev
* commit 'b5d4c0df503966f2a050af64dfa15c84f2e12c15':
  Update OTA to understand SELinux labels and capabilities
2013-09-10 13:14:54 -07:00
Nick Kralevich
b5d4c0df50 Merge "Update OTA to understand SELinux labels and capabilities" into klp-dev 2013-09-10 20:13:18 +00:00
Nick Kralevich
0eb17d9447 Update OTA to understand SELinux labels and capabilities
Update the OTA generation script to understand SELinux file
labels and file capabilities.

Make fs_config aware of SELinux labels and file capabilities, and
optionally output those elements whenever we output the
UID / GID / file perms. The information is emitted as a key=value pair
to allow for future extensibility.

Pass the SELinux file label and capabilities to the newly created
set_metadata() and set_metadata_recursive() calls. When the OTA
script fixes up filesystem permissions, it will also fix up the SELinux
labels and file capabilities.

If no SELinux label and capabilities are available for the file, use
the old set_perm and set_perm_recursive calls.

Bug: 8985290
Bug: 10183961
Bug: 10186213
Change-Id: I4fcfb2c234dbfb965cee9e62f060092a4274d22d
2013-09-10 12:30:43 -07:00
Andrew Hsieh
906cb78168 Add "WITH_STATIC_ANALYZER=1 m/mm/mmm/mma/mmma ..."
The new option WITH_STATIC_ANALYZER=1 instructs build system to
run static analyzer via "clang --analyze" on a successful build.
If analyzer finds any issue, instruction to open report is displayed.
See http://clang-analyzer.llvm.org/scan-build.html for details.

WITH_STATIC_ANALYZER trumps WITH_SYNTAX_CHECK if both exist.

Project use lots of GCC extensions (eg. nested function) not supported
by clang may opt out by adding LOCAL_NO_STATIC_ANALYZER:=true

Change-Id: I9970560560bd52ce5f0fd7129c3488629627c735
2013-09-10 17:37:14 +08:00
Ying Wang
061b89c0bf am 20ef354e: Load the ONE_SHOT_MAKEFILE even in dont_bother mode
* commit '20ef354e8c3a1fc10515a469fcc615935e6fb7cb':
  Load the ONE_SHOT_MAKEFILE even in dont_bother mode
2013-09-09 12:17:20 -07:00
Ying Wang
20ef354e8c Load the ONE_SHOT_MAKEFILE even in dont_bother mode
This makes "mmm <path> snod" work again.
Note that snod has dependency on the rest of the command line goals,
which is all_modules for ONE_SHOT_MAKEFILE,
so build race condition is avoided.

Change-Id: Ib0c0e622530cde773180a095e5ec4dde1149b8e5
2013-09-09 12:13:25 -07:00
Ying Wang
b4c0656ce6 am 39e08f28: Delete dead code.
* commit '39e08f2827584111f1cb2487ac7a1aae95df7ff0':
  Delete dead code.
2013-09-09 11:39:19 -07:00
Ying Wang
39e08f2827 Delete dead code.
frameworks/policies/base/PolicyConfig.mk does no longer exist.

Change-Id: I34d4820bc7c1e19ac84095f5f2caf6aefdfe1bd3
2013-09-09 11:35:42 -07:00
Kenny Root
e47bf1149c am 69c00c9e: Add libcore.conscrypt tests back to CTS
* commit '69c00c9ee8e6f1d865db3bc61e16473bc64f7a28':
  Add libcore.conscrypt tests back to CTS
2013-09-05 15:43:59 -07:00
Kenny Root
69c00c9ee8 Add libcore.conscrypt tests back to CTS
A reorganization of the libcore test jar files caused the Conscrypt
tests to be accidentally dropped from CTS. Add them back in their own
package.

Bug: 10210673
Change-Id: Ia46a5de925c35115d25b7c0f974eba5b27bbfcd6
2013-09-05 15:10:44 -07:00
Andrew Hsieh
129847526a resolved conflicts for merge of fcdf653a to klp-dev-plus-aosp
Change-Id: I1d831bbb4649b2ddc89cdfb71e3b76712bc6469e
2013-09-04 17:14:33 -07:00
Andrew Hsieh
fcdf653a17 am a62334ed: Merge "Add "WITH_SYNTAX_CHECK=1 make ...""
* commit 'a62334edaf9f52dbed3264cda2247f4e5ea7de06':
  Add "WITH_SYNTAX_CHECK=1 make ..."
2013-09-04 14:59:57 -07:00
Andrew Hsieh
a62334edaf Merge "Add "WITH_SYNTAX_CHECK=1 make ..."" 2013-09-04 21:57:52 +00:00
Ying Wang
1be5fb675a am 25f39b2f: am 62cd88d0: Merge "FDO: Only support locally"
* commit '25f39b2fbe9dee8ec6c680569c22c71fce9e595c':
  FDO: Only support locally
2013-09-04 11:56:03 -07:00
Ying Wang
25f39b2fbe am 62cd88d0: Merge "FDO: Only support locally"
* commit '62cd88d0d1614bbdb643f4cf4f014283b427ec7b':
  FDO: Only support locally
2013-09-04 11:53:43 -07:00
Andrew Hsieh
6cea59a4b9 Add "WITH_SYNTAX_CHECK=1 make ..."
The new option WITH_SYNTAX_CHECK=1 instructs build system to invoke
"clang -fsyntax-only" to utilize clang's better diagnostics before calling
LOCAL_CC/LOCAL_CXX for code generation.  The compilation time is slightly
longer, and the generated object file should be the same as w/o WITH_SYNTAX_CHECK

Project use lots of GCC extensions (eg. nested function) not supported
by clang may opt out by adding LOCAL_NO_SYNTAX_CHECK:=true

Change-Id: I5689586788ef049bd967364f71f31f1e359bd121
2013-09-04 09:26:25 +08:00
synergydev
7c4674205c FDO: Only support locally
The issues:
  - The size increase from utilizing FDO is quite large while
    utilizing runtime profiles in build.
  - By default, FDO is utilized globally if the target arch variant
    profiles exist.
  - Not all modules can show statistical significance in
    performance comparison, yet still suffer the size increase.

The solution:
  - Only enable FDO locally with LOCAL_FDO_SUPPORT
    for modules which may benefit enough to justify the size
    tradeoff.

Solution notes:
  - I've noted statistical significance in libwebcore and libskia
    thus far from utilizing FDO.
  - Analysis included sunspider, drawcanvas benchmarks, as
    well as gooda analysis on both arm and x86
  - To support runtime profile generation in modules which have
    LOCAL_FDO_SUPPORT specified,
    BUILD_FDO_INSTRUMENTATION is still used. Otherwise,
    if the target arch variant profiles exist, FDO is utilized for
    specified modules.

Change-Id: I7e95266943ff47c7d82b02e6200fd09911d0bb57
2013-09-03 20:53:20 +00:00
Torne (Richard Coles)
baa01faf1d am 4f30a507: Merge "Fix handling of .o files in LOCAL_GENERATED_SOURCES." into klp-dev
* commit '4f30a5076bea324b8224e4af4cfcf291f787ed4c':
  Fix handling of .o files in LOCAL_GENERATED_SOURCES.
2013-08-30 02:42:55 -07:00
Torne (Richard Coles)
a5afbe8ac6 Fix handling of .o files in LOCAL_GENERATED_SOURCES.
Rule-generated .o files (in gen_o_objects) were being given a dependency
on everything in LOCAL_GENERATED_SOURCES (except for other .o files);
unfortunately this can still create cycles in cases where there are
explicit dependencies between entries in LOCAL_GENERATED_SOURCES.

Instead, make handling of generated .o files consistent with other
generated files (which don't automatically get any dependencies on other
generated files) by excluding them from the target side of the rule.

Change-Id: I3fb5652dc3d85012c179a03b81887d16a85ab3bf
2013-08-29 15:36:34 +01:00
Ying Wang
cbea143e94 am 019891c1: am fc9cd4f5: Create an empty zip file if no dict file found.
* commit '019891c1b858e571edd748e884b18d22d8efd10a':
  Create an empty zip file if no dict file found.
2013-08-28 22:14:21 -07:00
Ying Wang
019891c1b8 am fc9cd4f5: Create an empty zip file if no dict file found.
* commit 'fc9cd4f5c17eb51f09bb3fe14526894c7fa33ba6':
  Create an empty zip file if no dict file found.
2013-08-28 22:11:44 -07:00
Ying Wang
fc9cd4f5c1 Create an empty zip file if no dict file found.
Instead of touch an empty file.

Change-Id: Ifa8bb04cea6fc0fc3165337f6815d5976bac677d
(cherry picked from commit c62c92c3d7)
2013-08-29 05:08:54 +00:00
Ying Wang
c97e86dca8 am c62c92c3: Create an empty zip file if no dict file found.
* commit 'c62c92c3d737304cbd38e99e92f29e193b15b7c8':
  Create an empty zip file if no dict file found.
2013-08-28 18:43:32 -07:00
Ying Wang
c62c92c3d7 Create an empty zip file if no dict file found.
Instead of touch an empty file.

Change-Id: Ifa8bb04cea6fc0fc3165337f6815d5976bac677d
2013-08-28 18:38:25 -07:00
Ying Wang
54e81f546c am 37b82aac: Skip compiling Java if an apk has no Java code.
* commit '37b82aacd958ee5b820d0058a808e8f13e9b22bb':
  Skip compiling Java if an apk has no Java code.
2013-08-28 17:34:24 -07:00
Ying Wang
37b82aacd9 Skip compiling Java if an apk has no Java code.
Change-Id: Iee204e03ad5bc8ce5c3b4b3863c19c89184826e2
2013-08-28 17:28:36 -07:00
Ying Wang
9915650b98 am 990cf5e5: Better handle of need_compile_java.
* commit '990cf5e57d5f3e454dd60f1d532f4dabe92a1b32':
  Better handle of need_compile_java.
2013-08-28 14:09:39 -07:00
Ying Wang
990cf5e57d Better handle of need_compile_java.
Change-Id: I609a27e2b35b08962243b6516c6c525c0c938d3c
2013-08-28 14:05:20 -07:00
Ben Cheng
e3b1fc39f9 am db4113fd: am d58df2de: Merge "Re-tighten default compiler options."
* commit 'db4113fdcce77872cc4657d74ac4136b356de928':
  Re-tighten default compiler options.
2013-08-28 11:32:25 -07:00
Ben Cheng
db4113fdcc am d58df2de: Merge "Re-tighten default compiler options."
* commit 'd58df2de78b798f8fc301afcfeb61f574629b8ce':
  Re-tighten default compiler options.
2013-08-28 11:29:41 -07:00
Ying Wang
161aa74de6 am 576e0146: Make it a fatal error if no source files for Java module.
* commit '576e0146a91f0f092cf67208c864ab9635b42222':
  Make it a fatal error if no source files for Java module.
2013-08-28 11:26:37 -07:00
Ying Wang
576e0146a9 Make it a fatal error if no source files for Java module.
Change-Id: Ia04158c11381b6b1687b9d5c699a9ea8ae3cb317
2013-08-28 11:19:36 -07:00
Ben Cheng
85ccf735e2 Re-tighten default compiler options.
Remove "-Wno-unused-parameter -Wno-unused-but-set-parameter" added for
GCC 4.8 experiment.

BUG: 10495043
(cherry picked from internal master 1cea0755f4)

Change-Id: Ifa221709b1351a9268c06872e2b667138995c3da
2013-08-28 11:17:43 -07:00
Jianxun Zhang
098494981d Fix parsing string parameters in BOARD_MKBOOTIMG_ARGS
The existing logic in common.py breaks string arguments incorrectly:
e.g. --para1 val1 --para2 "val2 is a string" will be output as:

'--para', 'val1, '--para2', 'val2' 'is' 'a' 'string'

This will cause mkbootimg command fails due to the invalid arguments
generated from the wrong parsing.

The patch fixes this issue to get:

'--para', 'val1, '--para2', 'val2 is a string'

Change-Id: Ia34ec357550f11ae9d6adc719d86a0c6a9099fbc
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
2013-08-27 15:31:13 -07:00
Ying Wang
bf05f6cc3e am 495f6840: In apps_only build dist a module only if it has a BUILT file.
* commit '495f68402493de82606b8c06213bae5bb1156a8b':
  In apps_only build dist a module only if it has a BUILT file.
2013-08-27 15:07:53 -07:00
Ying Wang
495f684024 In apps_only build dist a module only if it has a BUILT file.
This allows you to specify a PHONY target in TARGET_BUILD_APPS.

Change-Id: Idd813cd0dbdb14c705fbd3187596d4c64b99d045
2013-08-27 15:04:57 -07:00
Ying Wang
ea0237dd89 am 10d2e0cd: Remove the vendor-specific vars from the protected list.
* commit '10d2e0cd9119d25ba58d27004c18f4b894992a80':
  Remove the vendor-specific vars from the protected list.
2013-08-26 15:05:47 -07:00
Ying Wang
a704583265 am 62c81f82: Collect NOTICE files for apps_only build.
* commit '62c81f821f3675ea57485bfa6cb3320b7178759e':
  Collect NOTICE files for apps_only build.
2013-08-26 15:04:13 -07:00
Ying Wang
8541895267 am b6cf5b2f: am b88ca53a: am ddce2eb0: am de32713f: Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev
* commit 'b6cf5b2f41d460405a0a22812255b2700a79fb20':
  Collect and store proguard obfuscation dictionary files.
2013-08-26 15:01:13 -07:00
Ying Wang
b3ad11246d am 27f2cfb7: am 29695daa: am 653a037d: am 638ce57a: Treat LOCAL_APK_LIBRARIES like shared Java libraries.
* commit '27f2cfb72e932a3ccbb592ef9b75e37542ceabc4':
  Treat LOCAL_APK_LIBRARIES like shared Java libraries.
2013-08-26 15:00:57 -07:00
Ying Wang
10d2e0cd91 Remove the vendor-specific vars from the protected list.
Change-Id: I915a61034c9c3e2b886f609c4b8f4043e97bda61
2013-08-26 14:57:52 -07:00
Pavel Chupin
c1a5664ea3 Switch x86 default compiler to multilib version
Switch from gcc-4.7 32-bit only to gcc-4.7 multilib (32/x32/64) compiler.
Tested x86 image build on Linux and Darwin.

This bionic patch is required:
https://android-review.googlesource.com/#/c/64183

Change-Id: Ifc2c6c5d6a4a1b71a00a87af072bb7f67b1c284d
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-08-26 10:42:42 +04:00
Ying Wang
62c81f821f Collect NOTICE files for apps_only build.
In apps_only build (after running tapas or exporting TARGET_BUILD_APPS),
run "make notice_files" to collect and combine the NOTICE files of
modules that are needed by the apps.

Bug: 10445634
Change-Id: I6555bba1104e43b48c723c82143c46d444a75e80
2013-08-24 13:55:59 -07:00
Ying Wang
b6cf5b2f41 am b88ca53a: am ddce2eb0: am de32713f: Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev
* commit 'b88ca53a465ef004a60ceb9c4c641c3c997edeb5':
  Collect and store proguard obfuscation dictionary files.
2013-08-23 12:19:48 -07:00
Ying Wang
b88ca53a46 am ddce2eb0: am de32713f: Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev
* commit 'ddce2eb007c97b8ca94bc7b3190a83006df0c187':
  Collect and store proguard obfuscation dictionary files.
2013-08-23 12:18:11 -07:00
Ying Wang
ddce2eb007 am de32713f: Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev
* commit 'de32713f47b33c6d4c0bb4c8943e1eccf81aa0c5':
  Collect and store proguard obfuscation dictionary files.
2013-08-23 12:16:16 -07:00
Ying Wang
de32713f47 Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev 2013-08-23 19:14:20 +00:00
Ying Wang
ae9115a525 Collect and store proguard obfuscation dictionary files.
Collect and store proguard obfuscation dictionary files.
Only do this for apps_only build for now.

Bug: 9407666
Change-Id: I51c78bf0f42f959dc920de230e60e0f71ed0d0ea
2013-08-23 12:13:24 -07:00
Ying Wang
27f2cfb72e am 29695daa: am 653a037d: am 638ce57a: Treat LOCAL_APK_LIBRARIES like shared Java libraries.
* commit '29695daa9734a8dfb516b7ff2e35b2b263e6b37b':
  Treat LOCAL_APK_LIBRARIES like shared Java libraries.
2013-08-23 12:10:20 -07:00
Ying Wang
29695daa97 am 653a037d: am 638ce57a: Treat LOCAL_APK_LIBRARIES like shared Java libraries.
* commit '653a037d70d770d2fc03d4f205a9c626af5f5c76':
  Treat LOCAL_APK_LIBRARIES like shared Java libraries.
2013-08-23 12:07:45 -07:00
Ying Wang
653a037d70 am 638ce57a: Treat LOCAL_APK_LIBRARIES like shared Java libraries.
* commit '638ce57a5848c10d781502bf198a2b93aeb58a7a':
  Treat LOCAL_APK_LIBRARIES like shared Java libraries.
2013-08-23 12:03:47 -07:00
Ying Wang
638ce57a58 Treat LOCAL_APK_LIBRARIES like shared Java libraries.
This fix proguard build.
Bug: 10307372

Change-Id: Id99d6e903077b4bacdea2e68cbb78e46a4a6afb8
2013-08-23 11:59:49 -07:00
Ying Wang
92ed0994d9 am c3e977ac: am 2363485c: am 06de9f94: am 8709497e: Merge "Revert "Collect and store proguard obfuscation dictionary files."" into jb-mr2-dev
* commit 'c3e977acf150c54a73d7a4cd7f5d47474a122a66':
  Revert "Collect and store proguard obfuscation dictionary files."
2013-08-23 10:21:06 -07:00
Ying Wang
c3e977acf1 am 2363485c: am 06de9f94: am 8709497e: Merge "Revert "Collect and store proguard obfuscation dictionary files."" into jb-mr2-dev
* commit '2363485c2fb3f08d36e8cdbb2240b9c3993b470c':
  Revert "Collect and store proguard obfuscation dictionary files."
2013-08-23 10:17:47 -07:00
Ying Wang
7657012367 am 58ad7061: am 93b95dc4: am aa87a11d: am afd7457a: Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev
* commit '58ad70618d4d21f16ffe89c1e0eea7e35eae918b':
  Collect and store proguard obfuscation dictionary files.
2013-08-23 10:17:36 -07:00
Ying Wang
670a7a6389 am c5b72527: am ec3c15e5: am 04c4d34d: am 7311a344: Make it easier to enable obfuscation and optimization.
* commit 'c5b72527d30602568dad9fd310e82b6b12fc1106':
  Make it easier to enable obfuscation and optimization.
2013-08-23 10:17:35 -07:00
Ying Wang
2363485c2f am 06de9f94: am 8709497e: Merge "Revert "Collect and store proguard obfuscation dictionary files."" into jb-mr2-dev
* commit '06de9f940c34b8ade1f1866fbc1c6b32f93277b4':
  Revert "Collect and store proguard obfuscation dictionary files."
2013-08-23 10:14:48 -07:00
Ying Wang
06de9f940c am 8709497e: Merge "Revert "Collect and store proguard obfuscation dictionary files."" into jb-mr2-dev
* commit '8709497ed82800f399e99516df59afdb1bae8472':
  Revert "Collect and store proguard obfuscation dictionary files."
2013-08-23 10:13:19 -07:00
Ying Wang
58ad70618d am 93b95dc4: am aa87a11d: am afd7457a: Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev
* commit '93b95dc4b9f9b4e04e8a0fac25c958d5c52266e4':
  Collect and store proguard obfuscation dictionary files.
2013-08-23 10:12:26 -07:00
Ying Wang
c5b72527d3 am ec3c15e5: am 04c4d34d: am 7311a344: Make it easier to enable obfuscation and optimization.
* commit 'ec3c15e5c7c11cf3a831898f286c7eb7c216e50f':
  Make it easier to enable obfuscation and optimization.
2013-08-23 10:12:26 -07:00
Ying Wang
8709497ed8 Merge "Revert "Collect and store proguard obfuscation dictionary files."" into jb-mr2-dev 2013-08-23 17:11:29 +00:00
Ying Wang
df8b48449a Revert "Collect and store proguard obfuscation dictionary files."
This reverts commit 41dbe1e535.

Change-Id: I023594779128083b75a069fd860cd29dd7951ef5
2013-08-23 17:11:18 +00:00
Ying Wang
93b95dc4b9 am aa87a11d: am afd7457a: Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev
* commit 'aa87a11dffec0ea58c93ab0dd23b067975a4c681':
  Collect and store proguard obfuscation dictionary files.
2013-08-23 10:09:28 -07:00
Ying Wang
ec3c15e5c7 am 04c4d34d: am 7311a344: Make it easier to enable obfuscation and optimization.
* commit '04c4d34d4fdb56c824abf39239d2c87806706b7e':
  Make it easier to enable obfuscation and optimization.
2013-08-23 10:09:27 -07:00
Ying Wang
aa87a11dff am afd7457a: Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev
* commit 'afd7457adf844692b5de8f8d7eefedcc10dc7da1':
  Collect and store proguard obfuscation dictionary files.
2013-08-23 10:06:59 -07:00
Ying Wang
04c4d34d4f am 7311a344: Make it easier to enable obfuscation and optimization.
* commit '7311a344bed507062e781ba70331d85652c217d8':
  Make it easier to enable obfuscation and optimization.
2013-08-23 10:06:58 -07:00
Ying Wang
afd7457adf Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev 2013-08-23 17:05:32 +00:00
Ying Wang
41dbe1e535 Collect and store proguard obfuscation dictionary files.
Collect and store proguard obfuscation dictionary files.
Only do this for apps_only build for now.

Bug: 9407666
Change-Id: I0324eed6bb236abb0d3725f8d2a0b6c5c31935fe
2013-08-22 20:54:31 -07:00
Ying Wang
7311a344be Make it easier to enable obfuscation and optimization.
With this change, use:
* LOCAL_PROGUARD_ENABLED := obfuscation  # to enable obfuscation
* LOCAL_PROGUARD_ENABLED := optimization # to enable optimization
* LOCAL_PROGUARD_ENABLED := obfuscation optimization # to enable both

Now the meaning of the LOCAL_PROGUARD_ENABLED options:
* full:
    Use the build system's default configurations:
    with shrink but no obfuscation or optimization,
    global proguard flags in build/core/proguard.flags
    are applied.
* custom:
    The same as "full" except no aapt-generated resource-related
    proguard flags.
* nosystem:
    Don't use any build system's default configurations; but
    aapt-generated proguard flags are still applied. You are
    responsible for any other flags.
* disabled:
    Disable proguard.
* obfuscation:
    The same as "full" but with obfuscation enabled.
* optimization:
    The same as "full" but with optimization enabled.
* no value (the default):
    The build system chooses the proper value: "full" if it's an
    app; "disabled" if it's a library.

You can use more than 1 of them in a meaningful combination,
for example:
LOCAL_PROGUARD_ENABLED := obfuscation optimization

Bug: 10307372
Change-Id: Id248caca3048e99547f16559fae74f4afe85c354
2013-08-22 17:12:38 -07:00