summaryrefslogtreecommitdiffstats
path: root/core/prebuilt.mk
Commit message (Collapse)AuthorAgeFilesLines
* Don't set up the prebuilt apk rule twice.Ying Wang2014-12-011-0/+4
| | | | | | | | For apps, we don't want to set up the prebuilt apk rule twice even if "LOCAL_MULTILIB := both", which for apps really means to set up only the jni library rules twice. See also build/core/install_jni_libs.mk. Change-Id: Id0406c3c605c6ede613dba06178a1710590c09b3
* Reset LOCAL_2ND_ARCH_VAR_PREFIX before referencing it.Ying Wang2014-10-211-0/+1
| | | | Change-Id: I9182ce1efe09609100d19c9fae2bc4fe7358dfc0
* Real "LOCAL_MULTILIB := both" for prebuiltsYing Wang2014-05-161-8/+18
| | | | | | | | | This uses the fact that unsetting LOCAL_MULTILIB equals "either". It's useful to build for both 32-bit and 64-bit in the same prebuilt module definition. Bug: 13751317 Change-Id: I4f1625a83e13f22f807039afebae73f69ed35918
* Support host multilib buildYing Wang2014-05-141-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change basically ported our target multilib to the host side. It supports 2 host build modes: x86 and x86_64 multilib build. For now you need to set "BUILD_HOST_64bit=true" to switch to x86_64 multilib build. Later we'll default to x86_64 build and have a flag to force 32-bit only build, which may be needed by SDK build. In host module definition, like in target ones, you can use the following LOCAL variables to set up multilib configuration: LOCAL_MULTILIB: can be "both", "first", "32" or "64". It also supports the same set of arch or 32-vs-64 specific LOCAL variables. By default, it builds only for the first arch. To keep path compatibility, in x86_64 build files are still output to out/host/linux-x86; Both 32-bit and 64-bit executables are in out/host/linux-86/bin; In x86_64 build 32-bit shared libraries are installed to out/host/linux-x86/lib32 and 64-bit shared libraries are installed to out/host/linux-x86/lib; 32-bit object files are output to out/host/linux-x86/obj32 and 64-bit object files are output to out/host/linux-x86/obj. Bug: 13751317 Change-Id: I6044f83b7db369a33e05209e8c588eb6dc83409f
* add support for LOCAL_MULTILIBColin Cross2014-03-261-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fix buildColin Cross2014-02-131-1/+1
| | | | | | Include prebuilt_internal.mk for host builds. Change-Id: I750d6f71b3a2c67b11536babb8b39060005f4ff4
* support LOCAL_MODULE_TARGET_ARCH for prebuiltsColin Cross2014-02-131-214/+18
| | | | | | | Prebuilts often support only a single architecture, allow them to use LOCAL_MODULE_TARGET_ARCH to specify it. Change-Id: I2514f66f682ef267bbf1a1ab78510faff0a18b64
* build: rename LOCAL_32BIT_ONLY to LOCAL_32_BIT_ONLYColin Cross2014-01-291-1/+1
| | | | | | Rename for consistency with TARGET_IS_64_BIT. Change-Id: I824dcaed0c1e88b8246bcffb21ab3f1772175926
* Set up rules to build prebuilts for TARGET_2ND_ARCHColin Cross2014-01-241-1/+12
| | | | | | | Prebuilts built for the 2nd arch will install into 2nd arch directories. Change-Id: I3d020a3c1fb0f2eb0579933f8a66e410e66fdd44
* Add DEXPREOPT support for ARTBrian Carlstrom2013-12-171-8/+29
| | | | Change-Id: I24d0d7b2a23a769f5d69bd4dc14be22e1475b759
* am 405dac7f: am 8f01a3c0: Merge "Add missing LOCAL_ADDITIONAL_DEPENDENCIES ↵Ying Wang2013-08-131-0/+2
|\ | | | | | | | | | | | | dependency to BUILD_PREBUILT." * commit '405dac7f000af3a02b374533f76a7f2eaedbc954': Add missing LOCAL_ADDITIONAL_DEPENDENCIES dependency to BUILD_PREBUILT.
| * Add missing LOCAL_ADDITIONAL_DEPENDENCIES dependency to BUILD_PREBUILT.Elliott Hughes2013-08-131-0/+2
| | | | | | | | Change-Id: Id7c0e77110653e618d783026cd4b4aeadb3c45ec
| * Fix $(so_suffix) error.Ying Wang2013-07-151-1/+1
| | | | | | | | Change-Id: I32cb4d4efe0a473e67a54c035df4dd82b6e4a3f0 (cherry picked from commit 80b71fa326e4b5d9510d528c8feb08e28376a350)
| * Establish the built module dependencies on prebuilt shared libraryYing Wang2013-07-131-0/+8
| | | | | | | | | | | | | | | | This is needed because the linker command line uses -rpath-link with built module path ($(*_OUT_INTERMEDIATE_LIBRARIES)) to search for indirect dependency libraries. Change-Id: I21d537c7c697dfb18df25d3d2bb7bffe2f9d370f (cherry picked from commit ada8f296570e0bda93b433a7aa86ad138dd1705e)
* | Don't check build prebuilt modules.Ying Wang2013-08-021-0/+3
| | | | | | | | Change-Id: I35bcd97cf41d1f6e0cdc2676a07127bff4f14e6d
* | Fix $(so_suffix) error.Ying Wang2013-07-151-1/+1
| | | | | | | | Change-Id: I32cb4d4efe0a473e67a54c035df4dd82b6e4a3f0
* | Establish the built module dependencies on prebuilt shared libraryYing Wang2013-07-121-0/+8
|/ | | | | | | | This is needed because the linker command line uses -rpath-link with built module path ($(*_OUT_INTERMEDIATE_LIBRARIES)) to search for indirect dependency libraries. Change-Id: I21d537c7c697dfb18df25d3d2bb7bffe2f9d370f
* Do vendor check on modules installed by LOCAL_SHARED_LIBRARIESYing Wang2013-04-151-1/+1
| | | | | | | | | Since commit 6c86a1 we have split LOCAL_SHARED_LIBRARIES out of LOCAL_REQUIRED_MODULES and the vendor check does no longer cover the installed modules introduced by LOCAL_SHARED_LIBRARIES. This change brings back the coverage. Change-Id: Ie78692e48f173a3350792eb2fee8127ff9433caa
* Use $(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIESYing Wang2013-02-251-4/+10
| | | | | | To disentangle the host/target shared library dependencies. Change-Id: I3122b370a7c24425861ab6dba91e6d8d84b27249
* Add deps on LOCAL_SHARED_LIBRARIES for prebuilts.Ying Wang2013-02-121-2/+3
| | | | | | This is necessary for prebuilt build cache to work properly. Change-Id: Ica28ce4d245a948142e067d82ff84ce1aef2134e
* Build from source or prebuiltYing Wang2012-12-141-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change, you can easily switch between building from source code and prebuilt. Set LOCAL_PREBUILT_MODULE_FILE to the path of the prebuilt file, relative to the top of the source tree, in the usual module definition. The prebuilt will be used unless any of the followings satisfied: 1) ANDROID_BUILD_FROM_SOURCE is "true", which disable prebuilt globally; 2) The module name is in ANDROID_NO_PREBUILT_MODULES; 3) The LOCAL_PATH is prefixed by any of ANDROID_NO_PREBUILT_PATHS. A developer can set ANDROID_NO_PREBUILT_MODULES or ANDROID_NO_PREBUILT_PATHS to build only his own module(s) from source, while build other modules from prebuilts. You can set ANDROID_BUILD_FROM_SOURCE to true to build everything from source. Those variables can be set with shell environmental variable or in your buildspec.mk. Sometimes module B is able to be built from source only if module A is also built from source, for example, if B is the test apk of A. In that case, you can use the macro include-if-build-from-source to include B's Android.mk only if A is built from source too, or if-build-from-source to conditionally include the definition of module B, if their module definitions are in the same Android.mk. Support host-executable-hook and host-shared-library-hook. Change-Id: Icab7cf028c87eaba0dd7efc2a7749fd6f32b44e4
* Support LOCAL_EXPORT_C_INCLUDE_DIRS for prebuilts tooYing Wang2012-12-031-2/+10
| | | | Change-Id: I09e8e849f642792e3a74e2564820ab9bbf1eb28c
* NOTICE file only moduleYing Wang2012-11-011-2/+2
| | | | | | | | | | | | | 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
* Delete the misleading var TARGET_OUT_STATIC_LIBRARIES.Ying Wang2012-05-151-0/+7
| | | | | | Which can be replaced by TARGET_OUT_INTERMEDIATE_LIBRARIES. Change-Id: I965ff1ebe70fc3113c19e4896277c876dcedb6a5
* Write out export_includes whenever the module is built.Ying Wang2012-04-181-0/+2
| | | | | Bug: 6362268 Change-Id: If872cf8fe597a02e6ca740a181cea85f486df98e
* Revert "Write out export_includes whenever the module is built."Ying Wang2012-04-181-2/+0
| | | This reverts commit 40c34f3778e778762c7a7dcaf8697b2c90a717de
* Write out export_includes whenever the module is built.Ying Wang2012-04-181-0/+2
| | | | | Bug: 6362268 Change-Id: Ic5d028c108423c694736a06c05ec13093d42f1b8
* Build system support to export include pathsYing Wang2011-11-171-15/+21
| | | | | | | | | | | | | Bug: 5573756 With this change, we can set LOCAL_EXPORT_C_INCLUDE_DIRS in the module definition to export include dir paths. Paths in LOCAL_EXPORT_C_INCLUDE_DIRS should be relative to the top dir of the source tree. If a library (shared or static) exports some include paths, any module using it will import the include paths and add them to the compiler command line. Change-Id: I49aabc589d2cf214044d13ccd5532ef68209adf0
* sign non-PRESIGNED prebuilt apksDoug Zongker2011-10-051-34/+48
| | | | | | | Since dev keys can now vary per device, we can't assume they are checked in with the correct signature. Change-Id: I7577a3a6bd98d005c15936c99b2944acc4412798
* Support for product-specific dev keys.Ying Wang2011-10-041-2/+2
| | | | Change-Id: Id577a72ee9f7cd70e8ca77efcbf10a37885c7d6f
* Fix OVERRIDE_BUILT_MODULE_PATH for prebuilt shared libraries.Ying Wang2011-09-151-0/+11
| | | | | | | So that prebuilt shared libraries can be referenced with the module name in other module's Android.mk. Change-Id: I4c4b471696642694b805b71dd7605b91724ad924
* Revert Ic7c40c50: Support to run dex-preopt on prebuilt apksJustin Ho2011-08-301-22/+0
| | | | | | Collect some additional system image space, moving odex files to user partition on trygon-user Change-Id: If992536ff0da14cc5b9ba51811b8a0b76f1b8f83
* Enable LOCAL_STRIP_MODULE for prebuilt binariesJi-Hwan Lee2011-07-071-8/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, prebuilt binaries with debug symbols are installed unstripped. There are only a few of prebuilt shared library (that I'm trying to fix), so I can do this manually by making intermediate target and applying TARGET_STRIP, each of them, one by one. But dynamic_binary.mk has more features than stripping binaries (like copying unstripped binaries to symbols directory) and if I do it manually, they will lose all the benefits. Note that this doesn't change anything when LOCAL_STRIP_MODULE is not set. I actually tried to force strip every BUILD_PREBUILT'ed modules, but there were a few problems: - Some packages are not installed (i.e. not in PRODUCT_PACAKGES) but are built (i.e. in ALL_MODULES). And some of them are built in spite that they do not have appropriate prebuilt shared library for TARGET_ARCH. Stripping them causes "unknown format". - Some prebuilt modules set LOCAL_MODULE_CLASS incorrectly. Example is default.supp of external/valgrind/main, which should be ETC, not SHARED_LIBRARY. Both are better fixed, but I concluded that it's better to be conservative. Bug: 4585734 Change-Id: If71723b1d76007d45b02429ea5161a8265dd5b6d
* Support to run dex-preopt on prebuilt apks.Ying Wang2011-05-261-0/+22
| | | | Change-Id: Ic7c40c502934d7588166f26bbb6e2f235d1efdea
* Fix dependency of prebuilt target non-static Java libraries.Ying Wang2011-02-011-3/+13
| | | | Change-Id: I498b96ce737e5fc9076de39108252284ee53218f
* Move odex related files to product-specific dir.Ying Wang2010-10-011-0/+8
| | | | | | | | | | | 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
* add "EXTERNAL" as special value of LOCAL_CERTIFICATEDoug Zongker2009-12-151-0/+10
| | | | | | | | | Setting LOCAL_CERTIFICATE to "EXTERNAL" now marks an apk (either a prebuilt or otherwise) as needing the default test key within the system, but one that should be signed after the target_files is produced but before sign_target_files_apks does the rest of the signing. (We use this to ship apps on the system that are signed by third parties, like Facebook.)
* include pre-signed prebuilt .apks in apkcerts.txtDoug Zongker2009-12-141-1/+6
|
* make prebuilt .apks require LOCAL_CERTIFICATEDoug Zongker2009-12-111-10/+16
| | | | | | Require people who check in new prebuilts to decide what keys they should be signed with, rather than having a fire drill every time we go to sign a build and discover new prebuilts.
* Add OVERRIDE_PACKAGES support for prebuild modules.Owen Lin2009-10-201-1/+2
| | | | | | So that some prebuild module can override existing packages. Change-Id: I4f0d019e07b84d24cf0234903bd4b06104e0ed27
* Add support for LOCAL_OVERRIDES_PACKAGES to prebuilt build rules.Brandon Ballinger2009-10-201-0/+1
|
* allow prebuilts to specify LOCAL_CERTIFICATE so they can be resignedDoug Zongker2009-08-261-0/+15
| | | | | | If a prebuilt specifies a LOCAL_CERTIFICATE, stick it in the PACKAGES.* collection so that the predexopt process can work on the file (which only works if the new .apk can be signed).
* Fix issue #2048267: Run zipalign on all prebuiltsDianne Hackborn2009-08-111-0/+7
|
* reenable ranlib transform for prebuiltsDoug Zongker2009-08-071-1/+0
| | | | | An extra blank line detached the ranlib commands from the rules they were supposed to be for.
* add feature to strip "# comment" lines from prebuilt filesDoug Zongker2009-08-061-1/+7
| | | | | | | | | Change things so that when $(LOCAL_PREBUILT_STRIP_COMMENTS) is nonempty, we copy the source file using sed to strip out all the "# line"-style comments and blank lines, saving considerable system image space in the case of some wifi configurations. Bug: 2036961
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+37
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-37/+0
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+37