summaryrefslogtreecommitdiffstats
path: root/core/prebuilt_internal.mk
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Adapt to Jack and Jill Brest release"Yohann Roussel2014-12-111-1/+1
|\
| * Adapt to Jack and Jill Brest releaseYohann Roussel2014-12-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | Includes cherry-picks of: 2e78d2f4263bc7c0f90d58af7014017f16aa3ce6 Jack option --import-res was renamed --import-resource fdc913ee86fe0c45581178b901a673fdd7937e03 Update references to Jack type collison policy 8d83d1b21ec678fb9fb1c6ee643ace46d5f700ce Rename jill tmp file 8a1c98ce4ba0b4db39f274d6258b6a08bbc3ec2c Ensure that jar-arg-list is never shared 8d83d1b21ec678fb9fb1c6ee643ace46d5f700ce Remove manipulations of jack libraries Change-Id: I3ee159d408ba5281ac15c9836dc4fd2bdeb845d3
* | am b283ef2c: am 18eee18e: am 60686586: Add product variable ↵Ying Wang2014-12-111-1/+1
|\ \ | |/ |/| | | | | | | | | PRODUCT_AAPT_PREBUILT_DPI * commit 'b283ef2c3bf76a268e216ba66d0d9cf97d7b97ea': Add product variable PRODUCT_AAPT_PREBUILT_DPI
| * am 18eee18e: am 60686586: Add product variable PRODUCT_AAPT_PREBUILT_DPIYing Wang2014-12-111-1/+1
| |\ | | | | | | | | | | | | * commit '18eee18e6e51da4857054376ad96add16c0c0b92': Add product variable PRODUCT_AAPT_PREBUILT_DPI
| | * am 60686586: Add product variable PRODUCT_AAPT_PREBUILT_DPIYing Wang2014-12-101-1/+1
| | |\ | | | | | | | | | | | | | | | | * commit '60686586a5f9c8f78b9ad16e19782da85e89a760': Add product variable PRODUCT_AAPT_PREBUILT_DPI
| | | * Add product variable PRODUCT_AAPT_PREBUILT_DPIYing Wang2014-12-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use search LOCAL_DPI_VARIANTS in the list of "$(PRODUCT_AAPT_PREF_CONFIG) $(PRODUCT_AAPT_PREBUILT_DPI)" and the first takes precedence. That way if we don't have a best match, we fall back to the second best, the way how it worked with PRODUCT_AAPT_CONFIG previously. Bug: 18388705 Change-Id: I8bd646c52215c65cc6e38c728857af9b64d13469
* | | | Compile using Jack.Yohann Roussel2014-12-021-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to compile dex targeted java sources using Jack and Jill. Default is still to compile with the legacy toolchain. Default can be switched to the new toolchain by setting environement variable: export ANDROID_COMPILE_WITH_JACK=true Toolchain can also be forced for one module by defining LOCAL_USE_JACK:=true # false in the mk portion defining the module. Jack execution environement can be controlled with: Global variable ANDROID_JACK_VM allow to change the jvm executing Jack. Global variable ANDROID_JACK_VM_ARGS allows to change default args given to the jvm. Global variable ANDROID_JACK_EXTRA_ARGS allows to define some default args to give to Jack LOCAL_JACK_VM_ARGS allows to override default args given to the jvm for the module. LOCAL_JACK_EXTRA_ARGS allows to override default args passed to Jack. Change-Id: Ib81a0fd5f86a51d1e0edbb81cc791d828a05dd29
* | | | am 0217e3b2: resolved conflicts for merge of a4f415d6 to lmp-mr1-dev-plus-aospYing Wang2014-11-191-0/+13
|\ \ \ \ | |/ / / | | | | | | | | | | | | * commit '0217e3b20b6a331b0820014dc136d782070bca45': Support prebuilt apk source selection based on PRODUCT_AAPT_PREF_CONFIG
| * | | resolved conflicts for merge of a4f415d6 to lmp-mr1-dev-plus-aospYing Wang2014-11-181-0/+13
| |\ \ \ | | |/ / | | | | | | | | Change-Id: Ibb54bce20342bd386ec85388d48c1c08e8b80197
| | * | am ea4dfb75: Merge "Support prebuilt apk source selection based on ↵Ying Wang2014-11-191-0/+13
| | |\ \ | | | |/ | | | | | | | | | | | | | | | | | | | | PRODUCT_AAPT_PREF_CONFIG" into lmp-mr1-dev * commit 'ea4dfb7551e680f7496e1d35c05bdad10ca58b4a': Support prebuilt apk source selection based on PRODUCT_AAPT_PREF_CONFIG
| | | * Support prebuilt apk source selection based on PRODUCT_AAPT_PREF_CONFIGYing Wang2014-11-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two new LOCAL variables are added to support dpi-specific prebuilt apk selection: - LOCAL_DPI_VARIANTS: specify a list of dpis the module provides with specific prebuilt. Example: LOCAL_DPI_VARIANTS := xxhdpi xhdpi hdpi mdpi - LOCAL_DPI_FILE_STEM: specify the dpi-specific source file name pattern. Example: LOCAL_DPI_FILE_STEM := MyApp-%.apk "%" will be substitued by $(PRODUCT_AAPT_PREF_CONFIG) in the core build system. If you don't set up LOCAL_DPI_FILE_STEM, the default is $(LOCAL_MODULE)_%.apk. The build system searches $(PRODUCT_AAPT_PREF_CONFIG) in a prebuilt apk module's $(LOCAL_DPI_VARIANTS). If not found, use whatever $(LOCAL_SRC_FILES) as the source file; Otherwise use $(LOCAL_DPI_FILE_STEM) to construct the dpi-specific apk's source file name, and use whatever directory name of $(LOCAL_SRC_FILES). Bug: 18388705 Change-Id: I63cae73f1b6f880302142abc476b3ce1fb5500b5
* | | | am 5245bc8b: am 201f6b3e: Merge "Make modules depend on their makefile."Dan Albert2014-11-111-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | * commit '5245bc8b3421b3a9676a9ad650d0804d8d9e2787': Make modules depend on their makefile.
| * | | am 201f6b3e: Merge "Make modules depend on their makefile."Dan Albert2014-11-111-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | * commit '201f6b3e92a2ef2f3a117f33cd399d5304dd385a': Make modules depend on their makefile.
| | * | | Make modules depend on their makefile.Dan Albert2014-11-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should obviate much of the need for cleanspecs, and also make it unnecessary to continue adding LOCAL_ADDITIONAL_DEPENDENCIES for this sort of thing all over the tree. Change-Id: I97aa8fd280ae868a5f6364f8b7bf3c2fe235d6ce
| | * | | am e4e50f9b: am 8330c4c5: Merge "Apply LOCAL_CXX_STL to also prebuilts."Ying Wang2014-10-071-4/+7
| | |\ \ \ | | | |_|/ | | |/| | | | | | | | | | | | * commit 'e4e50f9bb4ae8af11aaddf9825a09ff33241b204': Apply LOCAL_CXX_STL to also prebuilts.
* | | | | am 007026f0: am 3fe170c5: Merge "Add support for prebuilt AARs." into ↵Ying Wang2014-11-031-3/+19
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-ub-dev * commit '007026f0ebf2216d875b9fdab44cc68b659e2307': Add support for prebuilt AARs.
| * | | | am 3fe170c5: Merge "Add support for prebuilt AARs." into lmp-mr1-ub-devYing Wang2014-11-031-3/+19
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | | | | | | * commit '3fe170c51ea1eca253164fa8738ab42b5b9aaa6b': Add support for prebuilt AARs.
| | * | | Add support for prebuilt AARs.Ying Wang2014-11-021-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - You can give a .aar as source file to a prebuilt static Java library module. The build system will set up dependencies and rules to extract classes.jar and other resource files. - To build against a prebuilt AAR module, use: LOCAL_STATIC_JAVA_AAR_LIBRARIES := <module names of aar prebuilt AARs> The build system will set up rules to merge the library's AndroidManifest.xml with the main AndroidManifest.xml, add the AAR's resource dirs and link/merge the AAR's classes.jar. Bug: 18168693 Change-Id: Ic2c1d20572a93bd98dbc72f8a39e26b459e442c2
| * | | | am e4cbc2af: Merge "Revert "Add support for prebuilt AARs."" into lmp-mr1-ub-devNick Kralevich2014-11-021-19/+3
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | * commit 'e4cbc2af5f476d9eb875253584260bed807acddf': Revert "Add support for prebuilt AARs."
| | * | | Revert "Add support for prebuilt AARs."Nick Kralevich2014-11-021-19/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master doesn't compile anymore. This reverts commit f56729250448200834c5c95c86c937e887d73623. Change-Id: Icc16fe5360d1222740b803e9dd006081e3c66e46
* | | | | Revert "Add support for prebuilt AARs."Nick Kralevich2014-11-021-19/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master doesn't compile anymore. This reverts commit f56729250448200834c5c95c86c937e887d73623. Change-Id: Icc16fe5360d1222740b803e9dd006081e3c66e46 (cherry picked from commit bcf8683b29d2c350c46f44a6f4241d80ec40e30e)
* | | | | am 4ef8133a: am f5672925: Add support for prebuilt AARs.Ying Wang2014-10-311-3/+19
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * commit '4ef8133a421dd92c6feb0508bc2274f12576cfd2': Add support for prebuilt AARs.
| * | | | am f5672925: Add support for prebuilt AARs.Ying Wang2014-10-311-3/+19
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | * commit 'f56729250448200834c5c95c86c937e887d73623': Add support for prebuilt AARs.
| | * | | Add support for prebuilt AARs.Ying Wang2014-10-291-3/+19
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - You can give a .aar as source file to a prebuilt static Java library module. The build system will set up dependencies and rules to extract classes.jar and other resource files. - To build against a prebuilt AAR module, use: LOCAL_STATIC_JAVA_AAR_LIBRARIES := <module names of aar prebuilt AARs> The build system will set up rules to merge the library's AndroidManifest.xml with the main AndroidManifest.xml, add the AAR's resource dirs and link/merge the AAR's classes.jar. Bug: 18168693 Change-Id: I478913d5d498f800b322529d7c2c2c0ea78425e5
| * | | am e4e50f9b: am 8330c4c5: Merge "Apply LOCAL_CXX_STL to also prebuilts."Ying Wang2014-10-071-4/+7
| |\ \ \ | | |/ / | |/| / | | |/ | | | * commit 'e4e50f9bb4ae8af11aaddf9825a09ff33241b204': Apply LOCAL_CXX_STL to also prebuilts.
| | * Apply LOCAL_CXX_STL to also prebuilts.Ying Wang2014-10-071-4/+7
| | | | | | | | | | | | | | | | | | | | | Because LOCAL_CXX_STL modifies a module's required shared libaries, we need this for also prebuilt shared libraries and executables. Change-Id: I418c26143999a613c40aadf990f131b123e0ac3d
* | | Apply LOCAL_CXX_STL to also prebuilts.Ying Wang2014-10-071-5/+8
| | | | | | | | | | | | | | | | | | | | | Because LOCAL_CXX_STL modifies a module's required shared libaries, we need this for also prebuilt shared libraries and executables. Change-Id: I418c26143999a613c40aadf990f131b123e0ac3d
* | | am eb304c0d: am 0f85ebab: am 5e0dbe0c: Conditionally skip dex-preopting ↵Andreas Gampe2014-10-021-1/+3
|\ \ \ | |/ / | | | | | | | | | | | | | | | prebuilts. * commit 'eb304c0d27fa96773ad52683ee4846e2e66ad61d': Conditionally skip dex-preopting prebuilts.
| * | Conditionally skip dex-preopting prebuilts.Andreas Gampe2014-10-021-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | To skip dex-preopting prebuilts (to save system image space), set "DONT_DEXPREOPT_PREBUILTS := true". Bug: 17772057 Change-Id: I13f10e2a9c251366f29606158f8c2fb54f8ee8b1
* | | Strip prebuilt shared library by default.Ying Wang2014-09-031-1/+8
|/ / | | | | | | | | | | | | | | | | Strip prebuilt shared library but not try adding gnu debuglink. It would fail if you try run the adding gnu debuglink command if a prebuilt is already stripped. Bug: 17177288 Change-Id: If5811865715c2437e45fbd329983ef1212ef0109
* | Support to install prebuilt split APKs with LOCAL_PACKAGE_SPLITSYing Wang2014-07-231-0/+36
| | | | | | | | | | | | | | | | | | | | In prebuilt app module, you can use LOCAL_PACKAGE_SPLITS to specify a list of prebuilt split apks. The build system will sign and zipalign the apks and install them with the same file names. Note that you need to put all the source split apks in the same folder. Bug: 16319961 Change-Id: Id2b6d743c1edc5e436007ec11acece1748adad45
* | New installation path for apks and their JNIs.Ying Wang2014-07-181-0/+5
| | | | | | | | | | | | | | | | | | Apk's path is changed to <parent_dir>/MyApp/MyApp.apk; JNI path is changed to <parent_dir>/MyApp/lib/<arch_name>/libfoo.so. Symlinks of JNIs are changed accordingly. Bug: 16319961 Change-Id: Ib3b2309c95fa9aea27837fcc29e28d990b04747b
* | am 904446ce: am 1a3d260f: am e69d4350: Merge "Support to add JNI of both ↵Ying Wang2014-06-251-1/+1
|\ \ | |/ | | | | | | | | | | archs in multilib build." * commit '904446ce0b3f430ac88ae0c08b9c613721474cd5': Support to add JNI of both archs in multilib build.
| * Support to add JNI of both archs in multilib build.Ying Wang2014-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | Use "LOCAL_MULTILIB := both" to install jni libraries of both archs in multilib build. The build system will package jni of both archs to the apk, or install them to the right location on the system image and create symlinks, extract .so files from prebuilt apk, etc if appropriate. Bug: 15849902 Change-Id: I7e147b5a47db476584c38250de7b36c75ea40d81
* | am dceddd91: am 79b46720: am 02f98a26: Merge "Fix loophole in module expansion."Ying Wang2014-06-111-1/+1
|\ \ | |/ | | | | | | * commit 'dceddd91d9a6516346e752b9f942747bea931cfa': Fix loophole in module expansion.
| * Fix loophole in module expansion.Ying Wang2014-06-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we only expanded product_MODULES with LOCAL_REQUIRED_MODULES, but not modules introduced by LOCAL_SHARED_LIBRARIES; Later we did a further shared libary expansion in vendor_module_check.mk. It couldn't track C in the following case: A : B, by LOCAL_SHARED_LIBRARIES; B : C, by LOCAL_REQUIRED_MODULES. With this change, we transformed the LOCAL_SHARED_LIBRARIES dependencies into LOCAL_REQUIRED_MODULES dependencies before doing the required module expansion and the loophole is closed. All module names are now expanded to product_MODULES now and it makes vendor_module_check.mk simpler. Change-Id: I8835a478d2ce0ce10601a8449f446f07b01c2b7f
* | am 913e0317: am a72e6f80: am 8a3f514d: Merge "Split the rules to build the ↵Ying Wang2014-05-221-6/+10
|\ \ | |/ | | | | | | | | | | odex file" * commit '913e031793928981640f51fa2e6480312f044c37': Split the rules to build the odex file
| * Split the rules to build the odex fileYing Wang2014-05-211-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | Previously the odex file is byproduct generated by the package.apk rule. Though we have the odex file depend on the package.apk it doesn't have its own build recipe. In case package.apk isn't updated but we still need to update the odex file (such as changed LOCAL_MULTILIB), the odex file will never be rebuilt. This change split out the rules to build the odex file and make sure the build recipe get executed if the odex file needs rebuild. Change-Id: I60c2f32b536b3d59045301ee863aae1451734aad
| * Support to extract JNI libs from prebuilt APKYing Wang2014-05-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use LOCAL_PREBUILT_JNI_LIBS to install prebuilt JNI libraries extracted from the prebuilt apk, or prebuilts as source, to the app specific lib path. LOCAL_PREBUILT_JNI_LIBS accepts 2 kinds of files: - Files like @path/to/libfoo.so (path inside the apk) are JNI libs extracted from the prebuilt apk. In this case, all embedded JNI libs inside the prebuilt apk are stripped. - Files like path/to/libfoo.so (path relative to LOCAL_PATH) are prebuilts in the source tree. Those prebuilt JNI libs are not defined as modules in the build system, so this works around possible module name conflict. Bug: 13170859 Change-Id: I91bb844cc11b3621a85733bc7e8910f168957ef0
* | am 8074ff4d: am a8355eca: am 64f3a191: Merge "Multilib support for odex"Brian Carlstrom2014-05-191-7/+1
|\ \ | |/ | | | | | | * commit '8074ff4d0f962a933586b9809d1f1bdffe1fe5ed': Multilib support for odex
| * Merge "Multilib support for odex"Brian Carlstrom2014-05-191-7/+1
| |\
| | * Multilib support for odexYing Wang2014-05-181-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the VM is libart and DEXPREOPT is enabled, - For a Java library and the boot image, we build for both 1st arch and 2nd arch. - For an app, we build for the multilib arch the module is targeted for. The odex file will be in <arch_name>/<module_name>.odex inside the same dir where the jar/apk file gets installed. Nothing changed if it's built for libdvm. Bug: 14694978 Change-Id: I45118a83758b41d52d6c9e38f93f0ba2775a6c74
* | | am e75315fd: am 002f3c28: am 4636abe5: Merge "Real "LOCAL_MULTILIB := both" ↵Ying Wang2014-05-171-1/+7
|\ \ \ | |/ / | | | | | | | | | | | | | | | for prebuilts" * commit 'e75315fdef200600f280f829089fd8d32e662b2e': Real "LOCAL_MULTILIB := both" for prebuilts
| * | Real "LOCAL_MULTILIB := both" for prebuiltsYing Wang2014-05-161-1/+7
| |/ | | | | | | | | | | | | | | | | 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
* | am e50f2d9f: am 40b49d30: am a74ade94: Merge "Support host multilib build"Ying Wang2014-05-151-7/+2
|\ \ | |/ | | | | | | * commit 'e50f2d9f32a27d8290692dbf99ab8b247ef9d553': Support host multilib build
| * Support host multilib buildYing Wang2014-05-141-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Update rules to install JNI libraries.Ying Wang2014-04-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we have to use LOCAL_REQUIRED_MODULES to install jni libraries for an apk in bundled build. With this change, we'll use LOCAL_JNI_SHARED_LIBRARIES alone to install jni shared libraries. The new rules are: - If we are doing unbundled build, or the apk isn't going to be installed to system partitions, we'll embed the jni libs in the built apk. - Otherwise, the jni libraries will be installed to the system lib path, and symlinks created in the app specific lib path. Change-Id: Id6bd5301eb632bda3593664acee580f0d8b1d5d4
| * Select src arch for prebuilts.Ying Wang2014-02-271-2/+6
| | | | | | | | Change-Id: I2d08f923d28d59cfef93ff0bd9893352baaee60b
* | Support to extract JNI libs from prebuilt APKYing Wang2014-04-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use LOCAL_PREBUILT_JNI_LIBS to install prebuilt JNI libraries extracted from the prebuilt apk, or prebuilts as source, to the app specific lib path. LOCAL_PREBUILT_JNI_LIBS accepts 2 kinds of files: - Files like @path/to/libfoo.so (path inside the apk) are JNI libs extracted from the prebuilt apk. In this case, all embedded JNI libs inside the prebuilt apk are stripped. - Files like path/to/libfoo.so (path relative to LOCAL_PATH) are prebuilts in the source tree. Those prebuilt JNI libs are not defined as modules in the build system, so this works around possible module name conflict. Bug: 13170859 Change-Id: I91bb844cc11b3621a85733bc7e8910f168957ef0
* | Update rules to install JNI libraries.Ying Wang2014-04-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we have to use LOCAL_REQUIRED_MODULES to install jni libraries for an apk in bundled build. With this change, we'll use LOCAL_JNI_SHARED_LIBRARIES alone to install jni shared libraries. The new rules are: - If we are doing unbundled build, or the apk isn't going to be installed to system partitions, we'll embed the jni libs in the built apk. - Otherwise, the jni libraries will be installed to the system lib path, and symlinks created in the app specific lib path. Change-Id: Id6bd5301eb632bda3593664acee580f0d8b1d5d4