Commit graph

3723 commits

Author SHA1 Message Date
Ying Wang
584d8adbea Different bootclasspath for droiddoc.
- If it's host module, don't set bootclasspath;
- If it's arget module,
  - It can build against the API stubs;
  - It can build against a historical SDK version;
  - It can build against core.jar

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

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

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

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

bug: 8992787

Change-Id: I313e17b1911768d4f3bc318c4162c53dec6eaf0d

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

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

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

(cherry picked from 8c06afdea3)

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

(cherry picked from 7b66d366bf)

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

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

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

bug 13588226

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

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

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

Change-Id: Ic8f3c295130c47eb0d66057880f9d4f70c89af94
2014-04-01 13:13:13 +01:00
Nicolas Geoffray
ed154c3ba6 Use debug versions of dex2oat explicitly.
Change-Id: Ie7c238908a5739af752a08fec1a04914026a8f96
2014-04-01 08:43:26 +01:00
Daniel Leung
625974cf2a Add intel to the vendor whitelist
Change-Id: I91d6ff72629523050b4f26c2d731cac90ef49348
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Reviewed-by: Jovanovic, Radivoje <radivoje.jovanovic@intel.com>
Reviewed-by: Boie, Andrew P <andrew.p.boie@intel.com>
Reviewed-by: Kumar-mayernik, Nisha <nisha.kumar-mayernik@intel.com>
Reviewed-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com>
Tested-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com>
2014-04-01 10:38:12 +08:00
Ying Wang
b34af41e57 Merge "Fix java version detection when _JAVA_OPTIONS is set." 2014-03-31 23:53:52 +00:00
Peter Ammon
bb406bf4c0 Fix java version detection when _JAVA_OPTIONS is set.
_JAVA_OPTIONS is an environment variable that
can be used to affect the behavior of java and javac.
It is currently required to get Android to build on
some configurations, where the default Java heap size
is too small. Unfortunately, if _JAVA_OPTIONS is set,
both java and javac will output its value to the console
as the first line on every invocation, including trivial
ones like java -version. This will confuse main.mk’s
version detection, which only looks at the first line of
output. Tweak the version detection to run grep before
head, so that the _JAVA_OPTIONS line is filtered by the grep.

Change-Id: I69aee52b56d27711b7d3087ec6b3ebab07ffc3af
2014-03-31 15:36:02 -07:00
Christopher Ferris
0c4870a4cd Merge "Specify -mcpu=cortex-a15 for denver CPU variants." 2014-03-31 19:06:28 +00:00
Ying Wang
1c380c13d9 Merge "Remove the unnecessary indirection of TARGET_STRIP_COMMAND" 2014-03-31 17:30:06 +00:00
Narayan Kamath
431b4bb354 Merge "Extend the CPU ABI specification mechanism." 2014-03-31 12:09:51 +00:00
Ying Wang
ce1c596e15 Remove the unnecessary indirection of TARGET_STRIP_COMMAND
Now all archs use the same strip command which can be put just in
transform-to-stripped.

Change-Id: Ief79697d47ea142fc9e63e63a7e2dace9e839165
2014-03-28 17:25:34 -07:00
Mathieu Chartier
1da02a1ae1 Merge "Change LIBART_IMG_TARGET_BASE_ADDRESS to 0x70000000" 2014-03-28 19:19:13 +00:00
Narayan Kamath
1a43b375b4 Extend the CPU ABI specification mechanism.
Add a (read only) system property that is a comma
separated list of ABIs supported by the device in order
of preference. For example, typical arm-v8 device might
define:

ro.cpu.abilist = arm64-v8a,armeabi-v7a,armeabi

For most purposes, a single flattened list like the above is
probably more useful than the parallel system of variables
TARGET_CPU_ABI{2} / TARGET_2ND_ARCH_CPU_ABI{2} that we use
in the build system.

Change-Id: If9102669ad9f5f8fd89a8bcc5bf88cca1acadc3c
2014-03-28 17:10:47 +00:00
Ying Wang
01f11b2aa9 Increase the maximum javac heap size.
Java 7 needs more memory when you run some annotation tools.

Change-Id: Ia8b423244b9ce164500b24867fe2b3d10a5089ff
2014-03-26 19:23:46 -07:00
Colin Cross
e6e48f67d8 add support for LOCAL_MULTILIB
LOCAL_MULTILIB replaces LOCAL_32_BIT_ONLY and
LOCAL_NO_2ND_ARCH, although both are still supported.

Set LOCAL_MULTILIB := 32 to always build a module 32-bit.
This is the same as specifying LOCAL_32_BIT_ONLY.

Set LOCAL_MULTILIB := first to always build a module for
the first architecture (64-bit on a 64-bit target, 32-bit on a
32-bit target).  This is the same as specifying LOCAL_NO_2ND_ARCH.

Set LOCAL_MULTILIB := both to build for both architectures
on a mulitlib (64-bit) target.

If LOCAL_MULTILIB is not set libraries will default to "both",
and executables, packages, and prebuilts will default to building
for the first architecture if supported by the module, otherwise
the second.

Executables that set LOCAL_MULTILIB := both must set either
LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64 or
LOCAL_MODULE_PATH_32 and LOCAL_MODULE_PATH_64 to specify how to
differentiate the install locations of the two versions.

Change-Id: I22ab6aa342b231c307b1d8a86cea4fd91eea39f5
2014-03-26 13:12:59 -07:00
Colin Cross
5a9db90e40 add support for LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64
Some executables will need to be built for both 32-bit and 64-bit.
For linker/linker64, debuggerd/debuggerd64, and a few more, they
will be installed in the same path (/system/bin), but with different
filenames.  Allow the module to specify LOCAL_MODULE_STEM_32 and
LOCAL_MODULE_STEM_64 to name the two versions.

Change-Id: I573e8678c7332245a064f31246be0a05f0a9e25f
2014-03-25 13:49:58 -07:00
Colin Cross
87974056d9 add support for LOCAL_MODULE_PATH_32 and LOCAL_MODULE_PATH_64
Some executables will need to be built for both 32-bit and 64-bit.
For tests, it will be convienient to keep the name of the executable
the same, but install them in a different location.  Add
LOCAL_MODULE_PATH_32 and LOCAL_MODULE_PATH_64 to allow a module
to specify different paths for 32-bit and 64-bit executables.

Change-Id: I3be830e899c6d485fe55c25c66b20b3fe64c795e
2014-03-25 13:48:40 -07:00
Tim Murray
01aa01dbfa Merge "Make Clang host builds hermetic on Linux." 2014-03-25 18:33:29 +00:00
Colin Cross
a3c76c2824 Merge "remove libeffects from 64-bit blacklist" 2014-03-25 17:54:56 +00:00
Tim Murray
02cefc93a8 Make Clang host builds hermetic on Linux.
This lays the groundwork for making builds hermetic on Darwin as well.
That will be fixed in a future patch.

bug 13435344

Change-Id: Iae82d0b9efad0598d682ff5fd4daa737aa607866
2014-03-24 19:38:47 -07:00
Andrew Hsieh
92d50c1a10 Pick gnu-libstdc++ based on TARGET_GCC_VERSION
Previously we have only one set of include/lib paths for
LOCAL_NDK_STL_VARIANT:=gnustl_static regardless of GCC
version, which is wrong because each GCC version
come with its own libstdc++.

Change-Id: I2a01c2120b6948aedce00e2f8d08dfc6932126dd
2014-03-25 09:46:27 +08:00
Colin Cross
966c9194a6 remove libeffects from 64-bit blacklist
Everything under frameworks/av/media/libeffects compiles fine for
64-bit

Change-Id: I03519a98903b7d65936053ef7eda8926cce60ea0
2014-03-24 18:40:11 -07:00
Shu Zhang
453afb242c Specify -mcpu=cortex-a15 for denver CPU variants.
Change-Id: Ic27484c92a48b45148021a61420ffdd55a9dd945
2014-03-24 16:19:50 +08:00
Ying Wang
d8d3721240 Complete installed shared library dependency
Previously the installed shared library dependency doesn't include
modules introduced by LOCAL_SHARED_LIBRARIES_<arch>.
This change fix the problem.
It also cleans up use of the shared library variable.

Bug: 13528787
Change-Id: Id8d807cc57f0ec4a71f18b64545d91191efad8fb
2014-03-21 16:17:04 -07:00
Colin Cross
8c1bbdb96e Merge "remove more projects from 64-bit blacklist" 2014-03-20 20:16:53 +00:00
Ying Wang
c6848b398d Remove the redundant DISABLE_DEXPREOPT
To disable dexpreopt, use just:
WITH_DEXPREOPT=false

Change-Id: I5804f3774f8ec50eb16c5336776dbce0c28b16d9
2014-03-20 13:01:31 -07:00
Ying Wang
8c7e74ee05 Fix embedded build
1) Disable dexpreopt if DALVIK_VM_LIB isn't set up by the product.
2) DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES is moved to config.mk,
for it's only decided by target arch.
3) Move Java module input from embedded.mk to base.mk.

Change-Id: Ife70b0cd8cee2e5c92f356c808affa56f494b49a
2014-03-20 12:13:10 -07:00
Colin Cross
e6d118574b remove more projects from 64-bit blacklist
These all build now.

Change-Id: If7c5f58512a2931617900ddc730797750ab8301c
2014-03-20 00:08:20 -07:00
Mathieu Chartier
3408ca0e0d Change LIBART_IMG_TARGET_BASE_ADDRESS to 0x70000000
Required for getting ART with valgrind on device working since
valgrind maps things in the 0x60000000 address range.

Bug: 13323732

Change-Id: I05efdbf3fe5acd1418e1d4ced5844154fb4c5d37
2014-03-19 16:52:43 -07:00
Glenn Kasten
cb902fff82 Merge "A few other removals for the 64 bit blacklist." 2014-03-19 21:32:22 +00:00
Narayan Kamath
c7d24d029b A few other removals for the 64 bit blacklist.
- external/chromium now compiles
- stagefright codecs now compile.
- frameworks/base now compiles.

Change-Id: I1226b79cd3e0b5e2fd786bb506e022b47fe5e264
2014-03-19 13:15:31 +00:00
Christopher Ferris
a6e2f9322c Add a method to leave the symbol table in a library.
When LOCAL_STRIP_MODULE := keep_symbols is set, then the normal strip rules
will be modified so that only the .debug_* sections are removed. The original
symbol table is left alone.

This allows the compilation of certain libraries so that libbacktrace library
can provide meaningful names to functions.

Bug: 12958251
Change-Id: I82bdc304a463012e29086325ccb51163464cb4a9
2014-03-18 17:34:41 -07:00
Ying Wang
ed56902c29 Remove arm64 clang build warning
Now we have enabled arm64 clang.
This change remvoed arm64 clang build warning and cleaned the
arm64 unknow c flags.

Change-Id: Ia583a78c6d364e603ff09df423aa34a6e03d0b9b
2014-03-18 15:58:13 -07:00
Glenn Kasten
97542cc9bf Merge "Don't blacklist all of frameworks/av for 64-bit" 2014-03-18 21:45:12 +00:00
Glenn Kasten
488fe8481a Don't blacklist all of frameworks/av for 64-bit
Change-Id: Ic2db99b1b577e3355c50982af5068bce32edf4ba
2014-03-18 12:12:54 -07:00
Ying Wang
594f2a4261 Remove unused LOCAL_ASSET_FILES.
Change-Id: Ie0b2b2e30a158b779016767fb868f3e03b2f828a
2014-03-18 11:31:09 -07:00
Andrew Hsieh
73d800e519 Add LOCAL_NDK_STL_VARIANT:=c++_static and c++_shared
Add llvm libc++ static and shared libraries

Change-Id: I92af9b6ab21cbf8ea82e014a4c11aeb5455920f9
2014-03-17 20:30:45 +08:00
Ying Wang
1cda15d323 Merge "Don't modify LOCAL_STRIP_MODULE" 2014-03-16 20:02:56 +00:00