summaryrefslogtreecommitdiffstats
path: root/core/prebuilt_internal.mk
Commit message (Collapse)AuthorAgeFilesLines
* Conditionally skip dex-preopting specific prebuilts.Ricardo Cerqueira2016-06-151-0/+5
| | | | | | | Extend change I13f10e2a9c251366f29606158f8c2fb54f8ee8b so that it optionally applies to a specific list of modules. Change-Id: Id56aeadfb8d2581a2c7b7045725419bf4f6b8faa
* prebuild: compress shared libraries in prebundled apksScott Mertz2016-02-091-0/+2
| | | | | | | | Prebundled APK shared libraries get installed like any other APK. Compress these libraries in the APK to save space. Change-Id: If3f85b43e492dd42d2da89d3b3f0a1b1b44ccdbb
* Colorize more target file outputScott Mertz2015-10-091-1/+1
| | | | Change-Id: I25aee19e9a5a06eeeaa4040803c064a140a86778
* Uncompress .so files before signing the apk.Ying Wang2015-06-011-1/+7
| | | | | | | | | | | - In uncompress-shared-libs we may strip .so files not for the current TARGET_ARCH. So we need to strip first and then sign the apk. - For PRESIGNED apks, make sure we don't strip the .so files even if they are "fat". Bug: 21571418 Bug: 8076853 Change-Id: Ifd1193dda0c2cd52ac148064ce5a32bcdd03f75c
* Don't extract jni from prebuilt apks.Ying Wang2015-06-011-6/+8
| | | | | | | | | | | | | | | | | | | | - We don't need LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES now, for we always page-align jni shared libraries and store them umcompressed. - For prebuilt apks, we don't extract jni any more; Instead we always run uncompress-shared-libs on them. - For apks built from source, we still install the jni separately, because that way multiple apks can share the same jni and it saves space. With this change, for most prebuilt apks, we don't need to specify LOCAL_PREBUILT_JNI_LIBS ("@lib/<abi>/foo.so") any more, for the build system automatically replaces the embedded jni with uncompressed files; But if a prebuilt is a fat apk (i.e. containing jni not needed by the current product architecture), you still need LOCAL_PREBUILT_JNI_LIBS to specify what jni to keep. Otherwise all embedded jni will be replaced with uncompressed files, that wastes space. Bug: 8076853 Change-Id: Ic3666dc72bf17cd293787414dd185470b365f967
* Revert "Don't extract jni from prebuilt apks."Ying Wang2015-05-041-8/+6
| | | | | | | | This reverts commit 3797466fbd31cc3ca5a1eddea64e7fdf0921ea67. Bug: 20810492 Bug: 20811499 Change-Id: Ic922d9daccc4550db489c0f3d4ad6b4ff85b5e60
* Don't extract jni from prebuilt apks.Ying Wang2015-05-011-6/+8
| | | | | | | | | | | | | | | | | | | | - We don't need LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES now, for we always page-align jni shared libraries and store them umcompressed. - For prebuilt apks, we don't extract jni any more; Instead we always run uncompress-shared-libs on them. - For apks built from source, we still install the jni separately, because that way multiple apks can share the same jni and it saves space. With this change, for most prebuilt apks, we don't need to specify LOCAL_PREBUILT_JNI_LIBS ("@lib/<abi>/foo.so") any more, for the build system automatically replaces the embedded jni with uncompressed files; But if a prebuilt is a fat apk (i.e. containing jni not needed by the current product architecture), you still need LOCAL_PREBUILT_JNI_LIBS to specify what jni to keep. Otherwise all embedded jni will be replaced with uncompressed files, that wastes space. Bug: 8076853 Change-Id: Icf07e0998ac3602e6e05e80fed836fbafca33e01
* Fix jack transformation on prebuilt AAR.Ying Wang2015-04-301-1/+1
| | | | Change-Id: I74f932cff606138943d97b923bbd059bcd496e46
* am 7347196a: am df7afb47: am 3b023915: am 4fa4e4be: Merge "Do not pack ↵Dmitriy Ivanov2015-04-241-5/+10
|\ | | | | | | | | | | | | relocations for prebuilts by default" * commit '7347196acbf640caaf68e4e790489a40d770a083': Do not pack relocations for prebuilts by default
| * Do not pack relocations for prebuilts by defaultDmitriy Ivanov2015-04-241-5/+10
| | | | | | | | | | | | | | | | | | Do not pack relocations for prebuilds unless LOCAL_PACK_MODULE_RELOCATIONS is true Bug: http://b/20537715 Bug: http://b/18051137 Change-Id: Iddef3b09741da6ae10d73c98103b868cc7695d38
* | am ebe3f7a5: am 700265ce: am 69b20474: Merge "Support ↵Nick Kralevich2015-04-181-0/+3
|\ \ | |/ | | | | | | | | | | LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES for prebuilt APKs" * commit 'ebe3f7a59878d797f8f0de234f251958fee1c5af': Support LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES for prebuilt APKs
| * Support LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES for prebuilt APKsNick Kralevich2015-04-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | If a prebuilt APK contains shared libraries and the flag LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES := true is set, then uncompress any shared libraries stored within the APK. This allows processes to load the shared library directly from the APK. Bug: 20247329 Bug: 8076853 Bug: 1162500 Change-Id: Iac4db32457d9ce31eb7256410023819b44fda0a6
* | resolved conflicts for merge of eec386a4 to masterYing Wang2015-04-151-3/+4
|\ \ | |/ | | | | Change-Id: Ia686e67ed480427a6422d87bef2dcd4e44e27266
| * Move package signing after file strippingKenny Root2015-04-151-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | For dex preopt and JNI library extraction, we should remove the classes.dex and .so files before we sign the APK so that there isn't an entry in the manifest. Prebuilt APKs which are pre-signed will simply not have the files removed. This may cause some system.img bloat, but signature checks make this necessary. Bug: 20247329 Change-Id: I4742d1aa3aa64ab5aea2264304cb8c0bea24f784
| * Remove ancient ranlib workaround on Mac OS X.Ying Wang2015-04-091-7/+0
| | | | | | | | | | | | Apparently we don't need it for Mac OS X 10.7 and above. Change-Id: I5ee81700c16e8c66b2d5f2b373fd2d523b5ec018
| * Strip prebuilt shared library by default.Ying Wang2015-03-131-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 (cherry picked from commit bfb52a2ec199a75e1a0e4e92148af0a6323c9f46)
* | Use Jack launcherYohann Roussel2015-04-151-1/+1
| | | | | | | | | | Bug: 20132430 Change-Id: I6e30ad3dffbb32824a4c62e562359b084e6a8784
* | Remove ancient ranlib workaround on Mac OS X.Ying Wang2015-04-091-7/+0
| | | | | | | | | | | | Apparently we don't need it for Mac OS X 10.7 and above. Change-Id: I5ee81700c16e8c66b2d5f2b373fd2d523b5ec018
* | Allow to pass arguments to JillYohann Roussel2015-03-051-0/+1
| | | | | | | | | | Bug: 19026410 Change-Id: I3f3d7c0e7f8d6cc7150ae560b8734093798e8299
* | am 738871f6: am e886392c: am 37a44faa: Merge "Store native libs aligned to ↵Narayan Kamath2015-02-261-0/+1
|\ \ | |/ | | | | | | | | | | PAGE_SIZE" * commit '738871f6eb3c372b60928e761f0dc24e46a6bba5': Store native libs aligned to PAGE_SIZE
| * am 37a44faa: Merge "Store native libs aligned to PAGE_SIZE"Narayan Kamath2015-02-261-0/+1
| |\ | | | | | | | | | | | | * commit '37a44faa7266c8a7e0cc5077a4c028d6f5bfa7f7': Store native libs aligned to PAGE_SIZE
| | * Store native libs aligned to PAGE_SIZEDmitriy Ivanov2015-02-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add a new flag to zipalign (-p) that page aligns shared libraries (zip entries ending with ".so") in the archive. - Add a new build variable LOCAL_PAGE_ALIGN_SHARED_LIBRARIES to turn on this behaviour in zipalign. - Add a new LOCAL_JNI_SHARED_LIBRARIES_ZIP_OPTIONS to control zip behaviour. Bug: 8076853 Bug: 19330157 Co-Authored-By: Simon Baldwin <simonb@google.com> Co-Authored-By: Dimitry Ivanov <dimitry@google.com> Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
* | | 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.