Commit Graph

174 Commits

Author SHA1 Message Date
Ying Wang e1d44c3b4a 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
2014-01-16 14:30:02 -08:00
Ying Wang 734afe4e42 am 94ff79ea: am adc66128: am b6c57051: am f5ce4fa9: Merge "Install 64-bit libraries to /system/lib64."
* commit '94ff79eaf2d66be4c83656a41b4efa38ad34a970':
  Install 64-bit libraries to /system/lib64.
2014-01-14 20:15:45 +00: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
Ying Wang 057375d783 am 03a06f41: am 9507a0fd: am 82c59aef: am 71e8a22e: Merge "Add DEXPREOPT support for ART"
* commit '03a06f4158e9eea9152f25286fcf2c30044d4e06':
  Add DEXPREOPT support for ART
2013-12-18 01:06:10 +00:00
Brian Carlstrom ced4bff58e Add DEXPREOPT support for ART
Change-Id: I24d0d7b2a23a769f5d69bd4dc14be22e1475b759
2013-12-17 14:44:00 -08:00
Narayan Kamath 7b199e3fa6 am 87286198: am b8d3879e: am 99bb0365: am 948206c0: Merge "Fix tools path on Mac OS for java 7."
* commit '87286198486fb43b35b6dcf8c64ca32a2ec60432':
  Fix tools path on Mac OS for java 7.
2013-12-06 17:51:54 +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
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
The Android Open Source Project b9041a45b1 Merge commit 'c73341006286c391ae4d268a77f5e008045d5308' into HEAD
Change-Id: I4bf7d32d65e19dfa1f0533fdd3b2295c50b13005
2013-11-22 11:06:11 -08:00
Elliott Hughes 2773ab94d7 am 36e681b0: resolved conflicts for merge of 12f87a5b to klp-dev-plus-aosp
* commit '36e681b02a7cd2554f038bcac65d7fdfc7889273':
  Remove the hacks needed to support ash and mksh concurrently.
2013-11-07 09:44:31 -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
Narayan Kamath 0dd273a3f6 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

Change-Id: I3569fff8eaa4d26d55fcc317bd98471f55d74c14
2013-11-07 09:39:05 +00: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
Andrew Hsieh 69e339d783 am 246daf75: resolved conflicts for merge of 2b5d2c55 to klp-dev-plus-aosp
* commit '246daf755a6607db575b5bef13d5cc761d4ebbb0':
  Add "WITH_STATIC_ANALYZER=1 m/mm/mmm/mma/mmma ..."
2013-09-10 19:34:10 -07: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 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
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 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
Andrew Hsieh e7c2d14e5a 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: Iaeedd07d5719f9df9675ab57e307e28a9c855c1b
2013-09-04 09:20:38 +08:00
Ying Wang 430a46c024 am a3ee330a: am fa67740a: am 25977365: Merge "mkbootimg: Support custom mkbootimg implementation"
* commit 'a3ee330ac52e188c9545c022552572e0e9541577':
  mkbootimg: Support custom mkbootimg implementation
2013-08-19 14:31:17 -07:00
Ying Wang a3ee330ac5 am fa67740a: am 25977365: Merge "mkbootimg: Support custom mkbootimg implementation"
* commit 'fa67740ae41fc068d9a9b5fbf5a7a06c36dbbdb1':
  mkbootimg: Support custom mkbootimg implementation
2013-08-19 14:29:32 -07:00
Ying Wang a3b7593546 Support to optionally run rmtypedefs.
Bug: 10330586
Change-Id: I6ddfca2ec986cf2c82b0942b7a5360508f095e9a
2013-08-14 18:20:54 -07:00
Bjorn Andersson 612e2cd0e8 mkbootimg: Support custom mkbootimg implementation
Support using custom mkbootimg to allow boards to specify custom
boot image formats. Also export this as the environment variable
MKBOOTIMG to the *_from_target_files releasetools scripts.

Change-Id: I2084273b1175de097fb7da5c4f2264ea8014d74f
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
2013-08-09 16:29:02 -07:00
Ying Wang ad7fd29b31 Don't bother going through the source tree
Don't bother going through the source tree in more circumstances:
all cleaning goals, helping goals, no-deps goals.

Bug: 10244578
Change-Id: Id53a249085c62838e4193962a85e0ac34f46954f
2013-08-09 10:08:30 -07:00
Mike Lockwood c73018c2e9 Fix typo from previous change to fix the build
Change-Id: I6cf7217eb81abd794339143b7c23456b68808caf
2013-08-06 16:15:48 -07:00
Ying Wang 9352474dae am 6f9c87ed: am 45339b01: Merge "Use consistent search depth."
* commit '6f9c87ede60c52a42b107fa5fb06e0f2f654ca9f':
  Use consistent search depth.
2013-07-25 00:47:08 -07:00
Ying Wang 45339b01d6 Merge "Use consistent search depth." 2013-07-25 01:54:44 +00:00
Guilhem IMBERTON 58570e7d5e Use consistent search depth.
AndroidProducts.mk allows for a maxdepth of 4 in device and vendor while
vendorsetup.sh and BoardConfig.mk only allow for smaller depth.

Make search depth consistent for these files.

Change-Id: I406770c1423d4f27fe097956a7c705a0da937e35
Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com>
Signed-off-by: Laurent Fert <laurent.fert@intel.com>
Signed-off-by: Guilhem Imberton <guilhem.imberton@intel.com>
Author: Laurent Fert <laurent.fert@intel.com>
2013-07-23 21:02:15 +02:00
Brian Carlstrom 1aeee8bb66 Move from WITH_ART to PRODUCT_RUNTIMES
Change-Id: I3a9217b4aafc1f59d095169deb9eaeae17320505
2013-06-27 16:49:15 -07:00
Ying Wang 2dc245b9cb Clean yacc version check
We don't rely on host preinstalled bison/yacc now.

Change-Id: Iac0a7f1c12fe9d33baa53e48297ecb41ad89792d
2013-04-26 11:13:22 -07:00
Ying Wang 66a68857a1 Fix the win_sdk build.
Change-Id: Ia6a300dcee084d79960aba4fba552dd7fd9c2dee
2013-04-05 19:03:58 -07:00
Ying Wang dd75a03d35 Fix the win_sdk build.
Change-Id: Ia6a300dcee084d79960aba4fba552dd7fd9c2dee
2013-04-05 18:51:32 -07:00
Ying Wang ced0e1b834 Switch to prebuilt bison
Bug: 8517572
Change-Id: Iad91b1db9472712899c4b46e2a8da5ba34ccb1cd
2013-04-05 18:35:51 -07:00
Ying Wang 854be68363 Switch to prebuilt bison
Bug: 8517572
Change-Id: Iad91b1db9472712899c4b46e2a8da5ba34ccb1cd
2013-04-05 18:02:16 -07:00
Tim Murray 1a6f09a48c Add support for multiple architectures with RS compat lib.
Change-Id: I310f6f72e1124c06e9c59b0f59d33f168dc1e632
2013-03-06 17:15:26 -08:00
Colin Cross f792a43c26 remove frameworks/base/opengl/include from default include path
frameworks/base/opengl/include no longer exists, remove it from
the default include search path.

Change-Id: Ic9f096a303ff97ce610ae7e0dee26cbc1c106a2a
2013-02-06 13:21:23 -08:00
Stephen Hines ba37043835 Remove references to llvm-rs-link, which is unused.
Change-Id: I42433a9b1d2b525d1b09f778a10ab9689e34926e
2013-01-25 15:26:16 -08:00
Stephen Hines 0f28a1d90c Merge "Build rules for Renderscript compatibility library." 2012-12-12 15:01:46 -08:00
Stephen Hines e719f28d93 Build rules for Renderscript compatibility library.
Bug: 7419958
Change-Id: I2e0f0bb632e6ff22b2cf1a1b96b28364637995cc
2012-12-12 14:58:02 -08:00
Ben Cheng 02d29216c9 am b3a68f6e: am 62f1d86e: Merge "Define TARGET_GCC_VERSION in target specific make files."
* commit 'b3a68f6e002cdbc946d08a76656067d63542a98a':
  Define TARGET_GCC_VERSION in target specific make files.
2012-12-11 16:53:05 -08:00
Ying Wang 6a6c11215b Run e2fsck on built sparse images.
Bug: 7591683
Change-Id: Id1cba79f7840aab1f0327cb741eda655b45d1b46
2012-12-11 14:57:39 -08:00
Ben Cheng 054ffd2e7c Define TARGET_GCC_VERSION in target specific make files.
So that GCC refresh can be performed in a target specific way.

Change-Id: I867e8b8fd671bef8c5af300e657a6da4fface032
2012-12-11 14:03:18 -08:00
Ying Wang 19cc22bc9c Move numeric api files from frameworks/base to prebuilts/sdk
So they can be used in unbundled builds.

Bug: 7296240
Change-Id: I5f176322dec30323f365188fb3e379def60dc1b8
2012-12-04 15:07:34 -08:00
Ying Wang 69e9b4d6d1 Run e2fsck on built sparse images.
Bug: 7591683
Change-Id: Id1cba79f7840aab1f0327cb741eda655b45d1b46
2012-11-27 09:57:17 -08:00
Ying Wang 13d6950ef8 NOTICE file only module
To pick up a NOTICE file in LOCAL_PATH and attach it to
/system/lib/libfoo.so, use the following syntax:

include $(CLEAR_VARS)
LOCAL_MODULE_CLASS := NOTICE_FILES
LOCAL_INSTALLED_MODULE := $(PRODUCT_OUT)/system/lib/libfoo.so
include $(BUILD_NOTICE_FILE)

Bug: 7460213
Change-Id: Ie692be72deab37be04d1b578578c131a0885a090
2012-11-01 17:29:10 -07:00
Andrew Hsieh a5b28e2d92 am 267b07b2: am 7176e801: Merge "Add TARGET_GCC_VERSION"
* commit '267b07b2aafede64d212402c3554fc2888821c98':
  Add TARGET_GCC_VERSION
2012-10-23 17:29:45 -07:00
Andrew Hsieh 267b07b2aa am 7176e801: Merge "Add TARGET_GCC_VERSION"
* commit '7176e8013bb2e563c3e3e56af4c04c50de3a7f37':
  Add TARGET_GCC_VERSION
2012-10-23 17:15:01 -07:00
Andrew Hsieh 06b63baedc Add TARGET_GCC_VERSION
Default to 4.6, but can overwritten to something else in
prebuilts/gcc/$os/$arch/$arch-linux-android*-$ver

Change-Id: I16f99d642b8ff8e831d392261a0c536041107051
2012-10-23 12:06:01 +08:00
Ying Wang 0c4eb41885 Load only the current product config makefile.
To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

(cherry-pick of 157a5e1695593f935c3223430f4530e21f990378.)

Bug: 7186768,7169854
Change-Id: I0be5e2721efa66a80f112acf8f95e177ebc2f65b
2012-10-03 10:27:08 -07:00
Ying Wang 54fa8c3ff9 Load only the current product config makefile.
To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.

Bug: 7186768,7169854
Change-Id: Ifd72ba1c6362a5e1125a23c505fd47947ab56675
2012-09-28 15:08:12 -07:00