Commit graph

57 commits

Author SHA1 Message Date
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
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
Tsu Chiang Chuang
40da8832c9 add a fake data target.
(cherry picked from commit 3ba7baf14875d3cd360006be7dffe7e4e0cf1882)

Change-Id: I691d4dda65437d3f57e77ed207da406fd1f53355
2013-05-14 10:58:26 -07:00
Ying Wang
5338fbfaca Install to TARGET_OUT_APPS_PRIVILEGED if LOCAL_PRIVILEGED_MODULE is true
Change-Id: I268b8652f18034aa3fdd3126ebf6196f78c4bbb2
2013-05-08 15:49:08 -07:00
Ying Wang
0abb0fd409 Default install path of shared Java library with tag tests
To $(PRODUCT_OUT)/data/framework/.

Change-Id: Iff6bbada47258344c13853d4fd71c7ad4b709c2c
2013-03-26 16:01:02 -07:00
Ying Wang
d0244b395a Remove build variant "tests"
Bug: 5368571
Now we have a phony target "tests" instead.
The target can be built in any other build variant (eg userdebug).
For example, "make PRODUCT-full-userdebug tests dist" will build and
put the *-test-* zip file in the dist dir.
The "tests" target will include all modules tagged as "tests" in
addition to other modules in specific target out directories.

Change-Id: I8383097380d8e6846c3e2107d6dd5f68788cfc39
2012-10-01 10:18:40 -07:00
Joe Onorato
6a185e453d Remove support for user tags in the build system.
It is not forbidden to say LOCAL_MODULE_TAGS := user,
and if you don't say LOCAL_MODULE_TAGS, it now defaults
to optional.

Change-Id: I0a0b200bb6f1c7bf1fe3a89cdc8f69678617526c
2012-08-16 22:45:56 -07:00
Jean-Baptiste Queru
049d97d778 am 2387857d: am 968f20a4: Merge "MIPS support to *.mk files and envsetup.sh"
* commit '2387857dad06b3437ffcf0c14e2bc9f5956a5888':
  MIPS support to *.mk files and envsetup.sh
2012-08-10 12:43:59 -07:00
Raghu Gandham
8da4310646 MIPS support to *.mk files and envsetup.sh
Change-Id: Iba4d046e3202524b29cfe32980927f8cc0aa8496
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Raghu Gandham <raghu@mips.com>
2012-08-10 09:15:38 -07:00
Ying Wang
3f7246a081 Delete unused variable.
Change-Id: I17f0e2c0b911e505c7ddd3c9c9c56e8a38239e17
2012-05-16 10:16:49 -07:00
Ying Wang
b1a4e4e89e Delete the misleading var TARGET_OUT_STATIC_LIBRARIES.
Which can be replaced by TARGET_OUT_INTERMEDIATE_LIBRARIES.

Change-Id: I965ff1ebe70fc3113c19e4896277c876dcedb6a5
2012-05-15 16:12:18 -07:00
Dima Zavin
8e4042cc79 Revert "core: the device/board/product kernel headers will be auto-generated"
This reverts commit 992a52990c.

Change-Id: I9919f13705509a793f856da8ef7207b3feb47092
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-30 10:46:28 -07:00
Dima Zavin
992a52990c core: the device/board/product kernel headers will be auto-generated
So, just add the output include directory to the include path

Change-Id: Ia370454237913a748288124f65a6b731b17d6e1a
Signed-off-by: Dima Zavin <dima@android.com>
2012-03-19 12:32:08 -07:00
Ying Wang
89686538d7 Support to build factory ramdisk image.
Bug: 5769921

With this change, to build factory_ramdisk.img, set
PRODUCT_FACTORY_RAMDISK_MODULES in your product config.
PRODUCT_FACTORY_RAMDISK_MODULES consists of
"<module_name>:<install_path>" pairs.
<install_path> is relative to the root of the factory ramdisk output.
For example:
PRODUCT_FACTORY_RAMDISK_MODULES := \
    toolbox:bin/toolbox adbd:sbin/adbd adb:bin/adb

On the other hand you can use PRODUCT_COPY_FILES to copy prebuilt files
to the factory ramdisk.
Or you can define modules that are specific for the factory ramdisk
(with LOCAL_MODULE_PATH pointing to TARGET_FACTORY_RAMDISK_OUT) and add
the module names to PRODUCT_PACKAGES.

Change-Id: I80ff72606415cd74fe6f3bc93020a05d84e45b70
2011-12-16 13:54:10 -08:00
Jean-Baptiste Queru
316febd715 am 78b68045: am ffe03c98: Set OUT_DIR based on a common base path
* commit '78b680458b3ba53fb2f88a603e371c002eb8944b':
  Set OUT_DIR based on a common base path
2011-12-06 22:53:44 -08:00
Jean-Baptiste Queru
ffe03c984b Set OUT_DIR based on a common base path
Change-Id: I2c4ba8b101d4d186ed4b371b9d07b3bcf75bbcc9
Author: Jean-Baptiste Queru<jbq@google.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-12-06 14:36:49 -08:00
Ying Wang
9f8e8db188 Build cache.img on demand
Bug: 5153694
To build cache.img, set BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE (required,
ext4 only for now), BOARD_CACHEIMAGE_PARTITION_SIZE (optional) in
BoardConfig.mk.

Change-Id: I1d8b91646aa1dba88285e008ad3335768bcbddd2
2011-11-10 14:30:34 -08:00
Ying Wang
c0debb9b5e Revert "Build cache.img."
This reverts commit 531bdb546a.
2011-11-02 11:19:28 -07:00
Ying Wang
531bdb546a Build cache.img.
Change-Id: I3dbe7afa4934fa718ba20605eebd2e3ce2ae82ab
2011-11-01 10:44:19 -07:00
Ying Wang
2b6aaa367a Add TARGET_COPY_OUT_* variables.
They are relative to PRODUCT_OUT so can be used in PRODUCT_COPY_FILES.
If TARGET_COPY_OUT_VENDOR instead of hardcoded system/vendor is used, we
will be able to transition smoothly to a separate vendor staging directory.

Change-Id: Ia9fdb208768cf4699180306280b4c02421b2ea9c
2011-10-27 15:18:39 -07:00
Ying Wang
8f77936dd8 Install path support for vendor modules.
Bug: 5284764
Set "LOCAL_PROPRIETARY_MODULE := true" to install module to vendor
partition.

Change-Id: I1301acc10664a12e313f3b868d9fd6400ac8b133
2011-09-13 13:57:26 -07:00
Jeff Brown
e33ba4c49e Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: Ie814f4c8d3aa1e7cc7f5735822ab25542f36cf62
2011-07-11 23:51:37 -07:00
Ryo Fujii
cbb3266b47 fix broken build rules for host VM. 2011-06-17 11:58:58 -07:00
Jean-Baptiste Queru
1607ba1c87 am 554eeb6c: am 493306f7: Merge "Fix TARGET_PREBUILT_TAG so that get_build_var can retrieve the correct value across architectures"
* commit '554eeb6c7426c8c1df551516cff903d69ae94f26':
  Fix TARGET_PREBUILT_TAG so that get_build_var can retrieve the correct value across architectures
2010-11-19 16:56:26 -08:00
Jean-Baptiste Queru
554eeb6c74 am 493306f7: Merge "Fix TARGET_PREBUILT_TAG so that get_build_var can retrieve the correct value across architectures"
* commit '493306f7c318d632186bebd732708d4299e66a62':
  Fix TARGET_PREBUILT_TAG so that get_build_var can retrieve the correct value across architectures
2010-11-19 11:15:19 -08:00
Jean-Baptiste Queru
6c75cb3752 am 0332f0ac: Truly default to the full config. 2010-10-22 12:12:52 -07:00
Jean-Baptiste Queru
0332f0ac1e Truly default to the full config.
It is much better than generic for emulator-based work.

Change-Id: I8b69b208bc4969d3f95c3467ca6737de8fd9460d
2010-10-22 10:03:49 -07:00
Bruce Beare
f1582e5499 Fix TARGET_PREBUILT_TAG so that get_build_var can retrieve the correct value across architectures
Change-Id: I5c1010d9caaa8d9ffaf65999fa3649c3c2be8caa
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2010-10-14 14:31:48 -07:00
Ying Wang
1406613b63 am bf2ed191: am a83940fa: Move odex related files to product-specific dir.
Merge commit 'bf2ed191fe229b6a83684c19a57e11e7b50c8637'

* commit 'bf2ed191fe229b6a83684c19a57e11e7b50c8637':
  Move odex related files to product-specific dir.
2010-10-01 17:07:29 -07:00
Ying Wang
bf2ed191fe am a83940fa: Move odex related files to product-specific dir.
Merge commit 'a83940fa7851b35712e559be2246b56b5666b805' into gingerbread-plus-aosp

* commit 'a83940fa7851b35712e559be2246b56b5666b805':
  Move odex related files to product-specific dir.
2010-10-01 15:51:35 -07:00
Ying Wang
a83940fa78 Move odex related files to product-specific dir.
For target Java libraries, now the LOCAL_BUILT_MODULE includes both javalib.jar
and the .odex file, if dexpreopt is enabled.
These 2 files are moved to a product-specific dir in this change.
For target Java Libraries, $(intermediates) now points to the product-specific dir.
There is still a javalib.jar in the $(intermediates.COMMON) dir, which is used as dependency.
Nothing is changed for host Java libraries.

Change-Id: I2546dbb940c74537864ca002d1acb49bb731fbbc
2010-10-01 14:41:43 -07:00
Brian Carlstrom
6d6511bec5 am bdb2e9f3: am 46fc2341: Merge "Allow \'export WITH_HOST_DALVIK=false\' to override Makefile defaulting" into gingerbread
Merge commit 'bdb2e9f3c203655648bd0a4e5ea64e9bb2cb2a13'

* commit 'bdb2e9f3c203655648bd0a4e5ea64e9bb2cb2a13':
  Allow 'export WITH_HOST_DALVIK=false' to override Makefile defaulting
2010-09-30 18:11:02 -07:00
Brian Carlstrom
bdb2e9f3c2 am 46fc2341: Merge "Allow \'export WITH_HOST_DALVIK=false\' to override Makefile defaulting" into gingerbread
Merge commit '46fc2341c535ba624fd2dceec9399ce681a80866' into gingerbread-plus-aosp

* commit '46fc2341c535ba624fd2dceec9399ce681a80866':
  Allow 'export WITH_HOST_DALVIK=false' to override Makefile defaulting
2010-09-30 15:02:49 -07:00
Brian Carlstrom
e947865041 Allow 'export WITH_HOST_DALVIK=false' to override Makefile defaulting
Change-Id: I8915bc1c9f52a3b6ab1a82b404ab61cd0726198d
2010-09-30 14:41:54 -07:00
Dima Zavin
531f524256 core: Make fake packages have real installed files for proper dependencies
Change-Id: I3145440eea0fbbd8ba22a2b3b0511f4c18f90eca
Signed-off-by: Dima Zavin <dima@android.com>
2010-09-27 17:37:59 -07:00
Andy McFadden
9cd6150cf5 am 12165990: am 6474811d: Fix sim-eng build.
Merge commit '12165990162ac3c41aed96d5afd5e228daa16877'

* commit '12165990162ac3c41aed96d5afd5e228daa16877':
  Fix sim-eng build.
2010-09-24 15:55:42 -07:00
Andy McFadden
1216599016 am 6474811d: Fix sim-eng build.
Merge commit '6474811d646153aeab111c1c0586b6ee53dcb0d2' into gingerbread-plus-aosp

* commit '6474811d646153aeab111c1c0586b6ee53dcb0d2':
  Fix sim-eng build.
2010-09-24 12:33:50 -07:00
Andy McFadden
6474811d64 Fix sim-eng build.
Don't try to do the host build if we're configured for sim-eng.  They
seem to be clashing, and it's redundant anyway.

Change-Id: I8e1a24b6e07d28701b32b6559ba39337b211264d
2010-09-24 12:04:17 -07:00
Jesse Wilson
fed45d859a am 77070aa7: am ce7d5023: Turn dalvikvm host builds on by default when linux is the host OS.
Merge commit '77070aa757806d1617d707db4d2bd7931b2353fc'

* commit '77070aa757806d1617d707db4d2bd7931b2353fc':
  Turn dalvikvm host builds on by default when linux is the host OS.
2010-09-22 13:53:41 -07:00
Jesse Wilson
77070aa757 am ce7d5023: Turn dalvikvm host builds on by default when linux is the host OS.
Merge commit 'ce7d5023c3df4c16ae395d64d51dd8345e40a39e' into gingerbread-plus-aosp

* commit 'ce7d5023c3df4c16ae395d64d51dd8345e40a39e':
  Turn dalvikvm host builds on by default when linux is the host OS.
2010-09-22 11:55:29 -07:00
Jesse Wilson
ce7d5023c3 Turn dalvikvm host builds on by default when linux is the host OS.
Previously host builds were only enabled under user and user-debug
builds. This will make it easier for Androids to find out if they've
inadvertently broken host compatibility in native code.

Change-Id: Id1f2d5e189c4c1b6462fe03bab1b0f75e98a599c
2010-09-22 11:39:18 -07:00
Ying Wang
4c681745e6 Flags common for native tests
With the CL, "include $(BUILD_NATIVE_TEST)" to build native test;
"include $(BUILD_HOST_NATIVE_TEST)" to build a host native test.

Change-Id: Icdbbcf906cd4c5c35e65962897490052cd051102
2010-07-21 11:22:52 -07:00
Bruce Beare
b73dc6690b Allow TARGET_ARCH to be set from BoardConfig.mk
Change-Id: I66aed78b763d238719822257c1f4f35301247df6
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
2010-07-12 09:42:10 -07:00
Jeff Hamilton
77dfeaed2a Switch the required host Java environment to 1.6.
The path to the Java toolchain is now explicitly
specified so no manual configuration should be
required.

Change-Id: I84abc122c557372e77e4579e9a9efe56af2b412c

The java version changed, and we made envsetup automatically find the right JAVA_HOME.

This change forces everyone to re-source envsetup.sh

Change-Id: Ieb9512d5725cca26a83debf9b0480bc20e19d5ee

Fix javadoc for Java 6.

If you don't set bootclasspath, there would be errors like:
javadoc: error - In doclet class DroidDoc, method start has thrown an exception java.lang.reflect.InvocationTargetException

Change-Id: I1b83360cb595d50577c6043d6e91b0f92e4c04d6

Avoid inheriting PRIVATE_BOOTCLASSPATH from moduels that depend on api-stubs-timestamp

The inherited value has caused build breakage on Mac build.

Change-Id: I8a1b1d6c6d411f6aaaee2d8dbd0297e3d60ab5c2

Ignore STAY_OFF_MY_LAWN when setting JAVA_HOME.

Don't check STAY_OFF_MY_LAWN in set_java_home.  That function already
refuses to update JAVA_HOME if it's set to something, which should
be sufficient for anybody who doesn't want the script to mess with it.

With this change, you can get the benefits of the 1.5/1.6 auto-selection
without having to suffer through window title changes.

Change-Id: I5cfc5d6fdf26a10b42b52925f877012c0506b9a5
2010-06-30 13:36:27 -05:00
Joe Onorato
aee4daacc8 The java version changed, and we made envsetup automatically find the right JAVA_HOME.
This change forces everyone to re-source envsetup.sh

Change-Id: Ieb9512d5725cca26a83debf9b0480bc20e19d5ee
2010-06-23 14:03:13 -07:00
Jing Yu
ada132a80b Switch toolchain from gcc-4.4.0 to gcc-4.4.3
gcc-4.4.3 toolchain is based on fsf GCC-4.4.3 with numerous patches.
It reduces 3.65% code size than the prebuilt gcc-4.4.0 toolchain,
and improves 3.4% performance on Android benchmarks.

The toolchain uses gold as default linker. With gold, the toolchain
further reduces 1MB system image.

Change-Id: I55eb4df185f2932e71498fcc28428e4d1b175393
2010-06-16 20:17:19 -07:00
Joe Onorato
16fa4b290e Rename is_unbundled_app_build and UNBUNDLED_APP_BUILD to TARGET_BUILD_APPS.
Change-Id: I79e6f60e009dad3a48709962347441e4ca0c337a
2010-06-10 18:38:25 -07:00
Raphael
9ca1628e3f Support building Windows SDK under Linux.
- envsetup.mk & config.mk: we define a new BUILD_OS and a minimal set
of things like BUILD_OUT to be able to use some local tools when
doing cross-compilation. This allows us to use the Linux version of
ACP when cross-compiling the tools to Windows.

- Makfile: include windows_sdk.mk when needed to build a Windows SDK.

- main.mk: support a win_sdk target (e.g. PRODUCT-sdk-win_sdk)

(Merge master Change I9d08d0df)
2010-04-23 13:17:23 -07:00
Andy McFadden
2c86bfd285 Sleazy workaround for webkit build failures.
The WebKit library link line is exceeding 128KB on sim-eng builds.
The path to sim-eng object files is slightly longer than device builds
because the object files live under the "host" directory.

This change truncates the "product" directory name to "pr", reducing the
command line by a few KB.  This only affects sim-eng builds.

The real fix will need be to webkit (see internal bug 1917987), which
will eventually start failing on device builds if it continues to grow.
2009-09-10 10:05:14 -07:00