diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/Makefile | 19 | ||||
-rw-r--r-- | core/android_manifest.mk | 25 | ||||
-rw-r--r-- | core/cleanbuild.mk | 3 | ||||
-rw-r--r-- | core/clear_vars.mk | 1 | ||||
-rw-r--r-- | core/config.mk | 3 | ||||
-rw-r--r-- | core/main.mk | 4 | ||||
-rw-r--r-- | core/multi_prebuilt.mk | 6 | ||||
-rw-r--r-- | core/package_internal.mk | 23 | ||||
-rw-r--r-- | core/pathmap.mk | 5 | ||||
-rw-r--r-- | core/pdk_config.mk | 29 | ||||
-rw-r--r-- | core/product.mk | 1 | ||||
-rw-r--r-- | core/proguard_basic_keeps.flags | 7 | ||||
-rw-r--r-- | core/static_java_library.mk | 9 | ||||
-rw-r--r-- | core/tasks/vendor_module_check.mk | 1 | ||||
-rw-r--r-- | core/version_defaults.mk | 4 |
15 files changed, 95 insertions, 45 deletions
diff --git a/core/Makefile b/core/Makefile index 1f5291d..889b241 100644 --- a/core/Makefile +++ b/core/Makefile @@ -909,11 +909,6 @@ systemtarball-nodeps: $(FS_GET_STATS) \ .PHONY: stnod stnod: systemtarball-nodeps -# For platform-java goal, add platform as well -ifneq (,$(filter platform-java, $(MAKECMDGOALS))) -PLATFORM_ZIP_ADD_JAVA := true -endif - ####### ## platform.zip: system, plus other files to be used in PDK fusion build, ## in a zip file @@ -930,7 +925,7 @@ $(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_SYSTEMIMAGE_FILES) $(TARGET_COPY_OUT_SYSTEM) \ $(patsubst $(PRODUCT_OUT)/%, %, $(TARGET_OUT_NOTICE_FILES)) \ $(addprefix symbols/,$(PDK_SYMBOL_FILES_LIST)) -ifeq (true,$(PLATFORM_ZIP_ADD_JAVA)) +ifneq ($(PDK_PLATFORM_JAVA_ZIP_CONTENTS),) $(hide) cd $(OUT_DIR) && zip -qry $(patsubst $(OUT_DIR)/%,%,$@) $(PDK_PLATFORM_JAVA_ZIP_CONTENTS) endif ifneq ($(PDK_PLATFORM_ZIP_PRODUCT_BINARIES),) @@ -1300,6 +1295,9 @@ endif .PHONY: target-files-package target-files-package: $(BUILT_TARGET_FILES_PACKAGE) +ifneq ($(filter $(MAKECMDGOALS),target-files-package),) +$(call dist-for-goals, target-files-package, $(BUILT_TARGET_FILES_PACKAGE)) +endif ifneq ($(TARGET_PRODUCT),sdk) ifeq ($(filter generic%,$(TARGET_DEVICE)),) @@ -1566,7 +1564,6 @@ endif sdk_atree_files := \ $(atree_dir)/sdk.exclude.atree \ - $(atree_dir)/sdk.atree \ $(atree_dir)/sdk-$(HOST_OS)-$(HOST_ARCH).atree \ $(sdk_tools_atree_files) @@ -1578,6 +1575,12 @@ ifneq (,$(strip $(wildcard $(atree_dir)/sdk-android-$(TARGET_CPU_ABI).atree))) sdk_atree_files += $(atree_dir)/sdk-android-$(TARGET_CPU_ABI).atree endif +ifneq ($(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SDK_ATREE_FILES),) +sdk_atree_files += $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SDK_ATREE_FILES) +else +sdk_atree_files += $(atree_dir)/sdk.atree +endif + deps := \ $(target_notice_file_txt) \ $(tools_notice_file_txt) \ @@ -1589,7 +1592,7 @@ deps := \ $(INSTALLED_SDK_BUILD_PROP_TARGET) \ $(INSTALLED_BUILD_PROP_TARGET) \ $(ATREE_FILES) \ - $(atree_dir)/sdk.atree \ + $(sdk_atree_files) \ $(sdk_tools_atree_files) \ $(HOST_OUT_EXECUTABLES)/atree \ $(HOST_OUT_EXECUTABLES)/line_endings diff --git a/core/android_manifest.mk b/core/android_manifest.mk new file mode 100644 index 0000000..21b95c2 --- /dev/null +++ b/core/android_manifest.mk @@ -0,0 +1,25 @@ +# Handle AndroidManifest.xmls +# Input: LOCAL_MANIFEST_FILE, LOCAL_FULL_MANIFEST_FILE, LOCAL_FULL_LIBS_MANIFEST_FILES +# Output: full_android_manifest + +ifeq ($(strip $(LOCAL_MANIFEST_FILE)),) + LOCAL_MANIFEST_FILE := AndroidManifest.xml +endif +ifdef LOCAL_FULL_MANIFEST_FILE + full_android_manifest := $(LOCAL_FULL_MANIFEST_FILE) +else + full_android_manifest := $(LOCAL_PATH)/$(LOCAL_MANIFEST_FILE) +endif + +# Set up rules to merge library manifest files +ifdef LOCAL_FULL_LIBS_MANIFEST_FILES +main_android_manifest := $(full_android_manifest) +full_android_manifest := $(intermediates.COMMON)/AndroidManifest.xml +$(full_android_manifest): PRIVATE_LIBS_MANIFESTS := $(LOCAL_FULL_LIBS_MANIFEST_FILES) +$(full_android_manifest) : $(main_android_manifest) $(LOCAL_FULL_LIBS_MANIFEST_FILES) + @echo "Merge android manifest files: $@ <-- $^" + @mkdir -p $(dir $@) + $(hide) $(ANDROID_MANIFEST_MERGER) --main $< --libs $(PRIVATE_LIBS_MANIFESTS) \ + --out $@ + +endif diff --git a/core/cleanbuild.mk b/core/cleanbuild.mk index fa67332..dfdf43d 100644 --- a/core/cleanbuild.mk +++ b/core/cleanbuild.mk @@ -196,7 +196,8 @@ installclean_files := \ $(PRODUCT_OUT)/obj/EXECUTABLES/adbd_intermediates \ $(PRODUCT_OUT)/obj/EXECUTABLES/init_intermediates \ $(PRODUCT_OUT)/obj/ETC/mac_permissions.xml_intermediates \ - $(PRODUCT_OUT)/obj/ETC/sepolicy_intermediates + $(PRODUCT_OUT)/obj/ETC/sepolicy_intermediates \ + $(PRODUCT_OUT)/obj/ETC/init.environ.rc_intermediates # The files/dirs to delete during a dataclean, which removes any files # in the staging and emulator data partitions. diff --git a/core/clear_vars.mk b/core/clear_vars.mk index fd2b122..6dec940 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -109,6 +109,7 @@ LOCAL_EMMA_COVERAGE_FILTER:= LOCAL_WARNINGS_ENABLE:= LOCAL_FULL_MANIFEST_FILE:= LOCAL_MANIFEST_FILE:= +LOCAL_FULL_LIBS_MANIFEST_FILES:= LOCAL_RENDERSCRIPT_INCLUDES:= LOCAL_RENDERSCRIPT_INCLUDES_OVERRIDE:= LOCAL_RENDERSCRIPT_CC:= diff --git a/core/config.mk b/core/config.mk index 322f258..31833fb 100644 --- a/core/config.mk +++ b/core/config.mk @@ -400,6 +400,9 @@ ZIPALIGN := $(HOST_OUT_EXECUTABLES)/zipalign$(HOST_EXECUTABLE_SUFFIX) FINDBUGS := prebuilt/common/findbugs/bin/findbugs EMMA_JAR := external/emma/lib/emma$(COMMON_JAVA_PACKAGE_SUFFIX) +# Tool to merge AndroidManifest.xmls +ANDROID_MANIFEST_MERGER := java -classpath prebuilts/devtools/tools/lib/manifest-merger.jar com.android.manifmerger.Main merge + YACC_HEADER_SUFFIX:= .hpp # Don't use column under Windows, cygwin or not diff --git a/core/main.mk b/core/main.mk index 5175bef..c02ee5b 100644 --- a/core/main.mk +++ b/core/main.mk @@ -403,7 +403,7 @@ ifdef is_sdk_build sdk_repo_goal := $(strip $(filter sdk_repo,$(MAKECMDGOALS))) MAKECMDGOALS := $(strip $(filter-out sdk_repo,$(MAKECMDGOALS))) -ifneq ($(words $(filter-out $(INTERNAL_MODIFIER_TARGETS) checkbuild,$(MAKECMDGOALS))),1) +ifneq ($(words $(filter-out $(INTERNAL_MODIFIER_TARGETS) checkbuild target-files-package,$(MAKECMDGOALS))),1) $(error The 'sdk' target may not be specified with any other targets) endif @@ -774,7 +774,7 @@ ifdef is_sdk_build dangling_modules := $(filter-out %64,$(dangling_modules)) endif ifneq ($(dangling_modules),) - $(error Module names '$(dangling_modules)' in PRODUCT_PACKAGES has nothing to install!) + $(warning: Modules '$(dangling_modules)' in PRODUCT_PACKAGES have nothing to install!) endif $(foreach m, $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES_DEBUG), \ $(if $(strip $(ALL_MODULES.$(m).INSTALLED)),,\ diff --git a/core/multi_prebuilt.mk b/core/multi_prebuilt.mk index be60e2f..bc85cea 100644 --- a/core/multi_prebuilt.mk +++ b/core/multi_prebuilt.mk @@ -69,7 +69,11 @@ $(foreach t,$(1), \ $(if $(7), \ $(eval LOCAL_BUILT_MODULE_STEM := $(7)) \ , \ - $(eval LOCAL_BUILT_MODULE_STEM := $(notdir $(LOCAL_SRC_FILES))) \ + $(if $(word 2,$(tw)), \ + $(eval LOCAL_BUILT_MODULE_STEM := $(LOCAL_MODULE)$(suffix $(LOCAL_SRC_FILES))) \ + , \ + $(eval LOCAL_BUILT_MODULE_STEM := $(notdir $(LOCAL_SRC_FILES))) \ + ) \ ) \ $(eval LOCAL_MODULE_SUFFIX := $(suffix $(LOCAL_SRC_FILES))) \ $(if $(filter user,$(TARGET_BUILD_VARIANT)), \ diff --git a/core/package_internal.mk b/core/package_internal.mk index 768032e..5771e98 100644 --- a/core/package_internal.mk +++ b/core/package_internal.mk @@ -52,16 +52,6 @@ $(error $(LOCAL_PATH): Package modules may not define LOCAL_MODULE) endif LOCAL_MODULE := $(LOCAL_PACKAGE_NAME) -ifeq ($(strip $(LOCAL_MANIFEST_FILE)),) -LOCAL_MANIFEST_FILE := AndroidManifest.xml -endif - -# If you need to put the MANIFEST_FILE outside of LOCAL_PATH -# you can use FULL_MANIFEST_FILE -ifeq ($(strip $(LOCAL_FULL_MANIFEST_FILE)),) -LOCAL_FULL_MANIFEST_FILE := $(LOCAL_PATH)/$(LOCAL_MANIFEST_FILE) -endif - ifneq ($(strip $(LOCAL_MODULE_CLASS)),) $(error $(LOCAL_PATH): Package modules may not set LOCAL_MODULE_CLASS) endif @@ -94,8 +84,14 @@ package_resource_overlays := $(strip \ LOCAL_RESOURCE_DIR := $(package_resource_overlays) $(LOCAL_RESOURCE_DIR) -all_assets := $(call find-subdir-assets,$(LOCAL_ASSET_DIR)) -all_assets := $(addprefix $(LOCAL_ASSET_DIR)/,$(patsubst assets/%,%,$(all_assets))) +all_assets := $(strip \ + $(foreach dir, $(LOCAL_ASSET_DIR), \ + $(addprefix $(dir)/, \ + $(patsubst assets/%,%, \ + $(call find-subdir-assets, $(dir)) \ + ) \ + ) \ + )) all_resources := $(strip \ $(foreach dir, $(LOCAL_RESOURCE_DIR), \ @@ -185,7 +181,8 @@ ifeq ($(LOCAL_SDK_RES_VERSION),) LOCAL_SDK_RES_VERSION:=$(LOCAL_SDK_VERSION) endif -full_android_manifest := $(LOCAL_FULL_MANIFEST_FILE) +include $(BUILD_SYSTEM)/android_manifest.mk + $(LOCAL_INTERMEDIATE_TARGETS): \ PRIVATE_ANDROID_MANIFEST := $(full_android_manifest) ifneq (,$(filter-out current, $(LOCAL_SDK_VERSION))) diff --git a/core/pathmap.mk b/core/pathmap.mk index 28661c2..ee79647 100644 --- a/core/pathmap.mk +++ b/core/pathmap.mk @@ -105,12 +105,15 @@ FRAMEWORKS_BASE_JAVA_SRC_DIRS := \ # A list of all source roots under frameworks/support. # FRAMEWORKS_SUPPORT_SUBDIRS := \ + annotations \ v4 \ v7/gridlayout \ v7/appcompat \ v7/mediarouter \ + v7/recyclerview \ v8/renderscript \ - v13 + v13 \ + v17/leanback # # A version of FRAMEWORKS_SUPPORT_SUBDIRS that is expanded to full paths from diff --git a/core/pdk_config.mk b/core/pdk_config.mk index 9590d70..b0cccc9 100644 --- a/core/pdk_config.mk +++ b/core/pdk_config.mk @@ -37,11 +37,16 @@ endif endif # fusion endif # pdk or fusion +PDK_PLATFORM_JAVA_ZIP_JAVA_TARGET_LIB_DIR := +PDK_PLATFORM_JAVA_ZIP_JAVA_HOST_LIB_DIR := \ + host/common/obj/JAVA_LIBRARIES/bouncycastle-host_intermediates +PDK_PLATFORM_JAVA_ZIP_CONTENTS := + ifneq (,$(filter platform-java, $(MAKECMDGOALS))$(PDK_FUSION_PLATFORM_ZIP)) # additional items to add to platform.zip for platform-java build # For these dirs, add classes.jar and javalib.jar from the dir to platform.zip # all paths under out dir -PDK_PLATFORM_JAVA_ZIP_JAVA_LIB_DIR := \ +PDK_PLATFORM_JAVA_ZIP_JAVA_TARGET_LIB_DIR += \ target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates \ target/common/obj/JAVA_LIBRARIES/core_intermediates \ target/common/obj/JAVA_LIBRARIES/core-junit_intermediates \ @@ -52,14 +57,21 @@ PDK_PLATFORM_JAVA_ZIP_JAVA_LIB_DIR := \ target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates \ target/common/obj/JAVA_LIBRARIES/voip-common_intermediates \ target/common/obj/JAVA_LIBRARIES/mms-common_intermediates \ - target/common/obj/JAVA_LIBRARIES/android-ex-camera2_intermediates + target/common/obj/JAVA_LIBRARIES/android-ex-camera2_intermediates \ + target/common/obj/JAVA_LIBRARIES/android-common_intermediates \ + # not java libraries -PDK_PLATFORM_JAVA_ZIP_CONTENTS := \ +PDK_PLATFORM_JAVA_ZIP_CONTENTS += \ target/common/obj/APPS/framework-res_intermediates/package-export.apk \ target/common/obj/APPS/framework-res_intermediates/src/R.stamp +endif # platform-java or FUSION build + +PDK_PLATFORM_JAVA_ZIP_JAVA_LIB_DIR := \ + $(PDK_PLATFORM_JAVA_ZIP_JAVA_TARGET_LIB_DIR) \ + $(PDK_PLATFORM_JAVA_ZIP_JAVA_HOST_LIB_DIR) + PDK_PLATFORM_JAVA_ZIP_CONTENTS += $(foreach lib_dir,$(PDK_PLATFORM_JAVA_ZIP_JAVA_LIB_DIR),\ $(lib_dir)/classes.jar $(lib_dir)/javalib.jar) -endif # platform-java or FUSION build # check and override java support level ifneq ($(TARGET_BUILD_PDK)$(PDK_FUSION_PLATFORM_ZIP),) @@ -117,6 +129,11 @@ $(PRODUCT_OUT)/% : $(_pdk_fusion_intermediates)/% $(_pdk_fusion_stamp) $(hide) rm -rf $@ $(hide) cp -fpPR $< $@ +# implicit rules for host java files +$(HOST_COMMON_OUT_ROOT)/% : $(_pdk_fusion_intermediates)/host/common/% $(_pdk_fusion_stamp) + @mkdir -p $(dir $@) + $(hide) cp -fpPR $< $@ + ifeq (true,$(TARGET_BUILD_PDK_JAVA_PLATFORM)) PDK_FUSION_OUT_DIR := $(OUT_DIR) @@ -137,11 +154,11 @@ target/common/obj/APPS/framework-res_intermediates/src/R.stamp,\ target/common/obj/APPS/framework-res_intermediates/package-export.apk)) # javalib.jar should pull classes.jar as classes.jar is not explicitly pulled. -$(foreach lib_dir,$(PDK_PLATFORM_JAVA_ZIP_JAVA_LIB_DIR),\ +$(foreach lib_dir,$(PDK_PLATFORM_JAVA_ZIP_JAVA_TARGET_LIB_DIR),\ $(eval $(call JAVA_dependency_template,$(lib_dir)/javalib.jar,\ $(lib_dir)/classes.jar))) -# implicit rules for all others +# implicit rules for all other target files $(TARGET_COMMON_OUT_ROOT)/% : $(_pdk_fusion_intermediates)/target/common/% $(_pdk_fusion_stamp) @mkdir -p $(dir $@) $(hide) cp -fpPR $< $@ diff --git a/core/product.mk b/core/product.mk index fd405ad..174b429 100644 --- a/core/product.mk +++ b/core/product.mk @@ -86,6 +86,7 @@ _product_var_list := \ PRODUCT_PACKAGE_OVERLAYS \ DEVICE_PACKAGE_OVERLAYS \ PRODUCT_TAGS \ + PRODUCT_SDK_ATREE_FILES \ PRODUCT_SDK_ADDON_NAME \ PRODUCT_SDK_ADDON_COPY_FILES \ PRODUCT_SDK_ADDON_COPY_MODULES \ diff --git a/core/proguard_basic_keeps.flags b/core/proguard_basic_keeps.flags index af0e05d..622d4ee 100644 --- a/core/proguard_basic_keeps.flags +++ b/core/proguard_basic_keeps.flags @@ -49,9 +49,10 @@ # -keep class * extends android.preference.Preference # -keep class * extends android.app.BackupAgent -#-keep class * implements android.os.Parcelable { -# public static final android.os.Parcelable$Creator *; -#} +# Parcelable CREATORs must be kept for Parcelable functionality +-keep class * implements android.os.Parcelable { + public static final ** CREATOR; +} # The support library contains references to newer platform versions. # Don't warn about those in case this app is linking against an older diff --git a/core/static_java_library.mk b/core/static_java_library.mk index f95a382..f31ccd8 100644 --- a/core/static_java_library.mk +++ b/core/static_java_library.mk @@ -66,14 +66,7 @@ include $(BUILD_SYSTEM)/java_library.mk ifneq (,$(all_resources)) R_file_stamp := $(LOCAL_INTERMEDIATE_SOURCE_DIR)/R.stamp -ifeq ($(strip $(LOCAL_MANIFEST_FILE)),) - LOCAL_MANIFEST_FILE := AndroidManifest.xml -endif -ifdef LOCAL_FULL_MANIFEST_FILE - full_android_manifest := $(LOCAL_FULL_MANIFEST_FILE) -else - full_android_manifest := $(LOCAL_PATH)/$(LOCAL_MANIFEST_FILE) -endif +include $(BUILD_SYSTEM)/android_manifest.mk LOCAL_SDK_RES_VERSION:=$(strip $(LOCAL_SDK_RES_VERSION)) ifeq ($(LOCAL_SDK_RES_VERSION),) diff --git a/core/tasks/vendor_module_check.mk b/core/tasks/vendor_module_check.mk index 6e18901..99d3d9e 100644 --- a/core/tasks/vendor_module_check.mk +++ b/core/tasks/vendor_module_check.mk @@ -22,6 +22,7 @@ _vendor_owner_whitelist := \ csr \ elan \ google \ + htc \ imgtec \ invensense \ intel \ diff --git a/core/version_defaults.mk b/core/version_defaults.mk index 1e172ed..4929abb 100644 --- a/core/version_defaults.mk +++ b/core/version_defaults.mk @@ -41,7 +41,7 @@ ifeq "" "$(PLATFORM_VERSION)" # which is the version that we reveal to the end user. # Update this value when the platform version changes (rather # than overriding it somewhere else). Can be an arbitrary string. - PLATFORM_VERSION := 4.4.3 + PLATFORM_VERSION := KKWT endif ifeq "" "$(PLATFORM_SDK_VERSION)" @@ -59,7 +59,7 @@ endif ifeq "" "$(PLATFORM_VERSION_CODENAME)" # This is the current development code-name, if the build is not a final # release build. If this is a final release build, it is simply "REL". - PLATFORM_VERSION_CODENAME := REL + PLATFORM_VERSION_CODENAME := KKWT endif ifeq "" "$(DEFAULT_APP_TARGET_SDK)" |