summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/Makefile52
-rw-r--r--core/binary.mk11
-rw-r--r--core/build_id.mk2
-rw-r--r--core/combo/arch/arm/armv7-a-neon.mk2
-rw-r--r--core/prebuilt_internal.mk2
-rw-r--r--core/product_config.mk2
-rw-r--r--core/qcom_target.mk9
-rw-r--r--core/tasks/kernel.mk70
-rw-r--r--core/version_defaults.mk2
9 files changed, 99 insertions, 53 deletions
diff --git a/core/Makefile b/core/Makefile
index 585b2e9..6cfbc2e 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -1035,6 +1035,31 @@ $(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTIMG) $(recovery_ramdisk) $(recovery_k
$(call build-recoveryimage-target, $@)
endif # BOARD_CUSTOM_BOOTIMG_MK
+# The system partition needs room for the recovery image as well. We
+# now store the recovery image as a binary patch using the boot image
+# as the source (since they are very similar). Generate the patch so
+# we can see how big it's going to be, and include that in the system
+# image size check calculation.
+ifneq ($(INSTALLED_RECOVERYIMAGE_TARGET),)
+intermediates := $(call intermediates-dir-for,PACKAGING,recovery_patch)
+ifndef BOARD_CANT_BUILD_RECOVERY_FROM_BOOT_PATCH
+RECOVERY_FROM_BOOT_PATCH := $(intermediates)/recovery_from_boot.p
+else
+RECOVERY_FROM_BOOT_PATCH :=
+endif
+$(RECOVERY_FROM_BOOT_PATCH): $(INSTALLED_RECOVERYIMAGE_TARGET) \
+ $(INSTALLED_BOOTIMAGE_TARGET) \
+ $(HOST_OUT_EXECUTABLES)/imgdiff \
+ $(HOST_OUT_EXECUTABLES)/bsdiff
+ @echo -e ${CL_CYN}"Construct recovery from boot"${CL_RST}
+ mkdir -p $(dir $@)
+ifeq ($(TARGET_NOT_USE_GZIP_RECOVERY_RAMDISK),true)
+ PATH=$(HOST_OUT_EXECUTABLES):$$PATH $(HOST_OUT_EXECUTABLES)/bsdiff $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_RECOVERYIMAGE_TARGET) $@
+else
+ PATH=$(HOST_OUT_EXECUTABLES):$$PATH $(HOST_OUT_EXECUTABLES)/imgdiff $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_RECOVERYIMAGE_TARGET) $@
+endif
+endif
+
recovery_patch_path := $(call intermediates-dir-for,PACKAGING,recovery_patch)
ota_temp_root := $(PRODUCT_OUT)/ota_temp
$(RECOVERY_PATCH_INSTALL): PRIVATE_RECOVERY_API_VERSION := $(RECOVERY_API_VERSION)
@@ -1234,37 +1259,12 @@ $(BUILT_SYSTEMIMAGE): $(FULL_SYSTEMIMAGE_DEPS) $(INSTALLED_FILES_FILE)
ifndef I_WANT_A_QUAIL_STAR
$(BUILT_SYSTEMIMAGE): checkapi
+$(BUILT_SYSTEMIMAGE): checkapi-cm
endif
INSTALLED_SYSTEMIMAGE := $(PRODUCT_OUT)/system.img
SYSTEMIMAGE_SOURCE_DIR := $(TARGET_OUT)
-# The system partition needs room for the recovery image as well. We
-# now store the recovery image as a binary patch using the boot image
-# as the source (since they are very similar). Generate the patch so
-# we can see how big it's going to be, and include that in the system
-# image size check calculation.
-ifneq ($(INSTALLED_RECOVERYIMAGE_TARGET),)
-intermediates := $(call intermediates-dir-for,PACKAGING,recovery_patch)
-ifndef BOARD_CANT_BUILD_RECOVERY_FROM_BOOT_PATCH
-RECOVERY_FROM_BOOT_PATCH := $(intermediates)/recovery_from_boot.p
-else
-RECOVERY_FROM_BOOT_PATCH :=
-endif
-$(RECOVERY_FROM_BOOT_PATCH): $(INSTALLED_RECOVERYIMAGE_TARGET) \
- $(INSTALLED_BOOTIMAGE_TARGET) \
- $(HOST_OUT_EXECUTABLES)/imgdiff \
- $(HOST_OUT_EXECUTABLES)/bsdiff
- @echo -e ${CL_CYN}"Construct recovery from boot"${CL_RST}
- mkdir -p $(dir $@)
-ifeq ($(TARGET_NOT_USE_GZIP_RECOVERY_RAMDISK),true)
- PATH=$(HOST_OUT_EXECUTABLES):$$PATH $(HOST_OUT_EXECUTABLES)/bsdiff $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_RECOVERYIMAGE_TARGET) $@
-else
- PATH=$(HOST_OUT_EXECUTABLES):$$PATH $(HOST_OUT_EXECUTABLES)/imgdiff $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_RECOVERYIMAGE_TARGET) $@
-endif
-endif
-
-
$(INSTALLED_SYSTEMIMAGE): $(BUILT_SYSTEMIMAGE) $(RECOVERY_FROM_BOOT_PATCH) | $(ACP)
@echo -e ${CL_CYN}"Install system fs image: $@"${CL_RST}
$(copy-file-to-target)
diff --git a/core/binary.mk b/core/binary.mk
index 88905d9..e25fb31 100644
--- a/core/binary.mk
+++ b/core/binary.mk
@@ -566,6 +566,17 @@ $(proto_generated_headers): $(proto_generated_sources_dir)/%.pb.h: $(proto_gener
$(hide) touch $@
$(copy-proto-files)
+$(if $(LOCAL_PROTOC_OUTPUT), \
+$(if $(call streq,$(LOCAL_PROTOC_OUTPUT),$(LOCAL_PATH)),, \
+ $(eval proto_relocated_headers := $(subst $(LOCAL_PATH),$(LOCAL_PROTOC_OUTPUT),$(proto_generated_headers))) \
+ ), )
+
+ifdef proto_relocated_headers
+$(proto_relocated_headers): $(proto_generated_headers)
+ echo "Refreshed header file $@."
+ $(hide) touch $@
+endif
+
$(my_prefix)_$(LOCAL_MODULE_CLASS)_$(LOCAL_MODULE)_proto_defined := true
endif # transform-proto-to-cc rule included only once
diff --git a/core/build_id.mk b/core/build_id.mk
index f55b184..c2f0b28 100644
--- a/core/build_id.mk
+++ b/core/build_id.mk
@@ -18,4 +18,4 @@
# (like "CRB01"). It must be a single word, and is
# capitalized by convention.
-export BUILD_ID=MMB29U
+export BUILD_ID=MHC19J
diff --git a/core/combo/arch/arm/armv7-a-neon.mk b/core/combo/arch/arm/armv7-a-neon.mk
index 9154f71..89e6573 100644
--- a/core/combo/arch/arm/armv7-a-neon.mk
+++ b/core/combo/arch/arm/armv7-a-neon.mk
@@ -27,7 +27,7 @@ ifneq (,$(filter cortex-a8 scorpion,$(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT
arch_variant_ldflags := \
-Wl,--fix-cortex-a8
else
-ifeq ($(strip $(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)),cortex-a7)
+ifneq (,$(filter cortex-a7 cortex-a53 cortex-a53.a57,$(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)))
arch_variant_cflags := -mcpu=cortex-a7 -mfpu=neon-vfpv4
arch_variant_ldflags := \
-Wl,--no-fix-cortex-a8
diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk
index 585ead2..b5ff3a1 100644
--- a/core/prebuilt_internal.mk
+++ b/core/prebuilt_internal.mk
@@ -211,7 +211,9 @@ $(built_module): PRIVATE_EMBEDDED_JNI_LIBS := $(embedded_prebuilt_jni_libs)
$(built_module) : $(my_prebuilt_src_file) | $(ACP) $(ZIPALIGN) $(SIGNAPK_JAR)
$(transform-prebuilt-to-target)
+ifneq ($(LOCAL_MODULE_PATH),$(TARGET_OUT_VENDOR)/bundled-app)
$(uncompress-shared-libs)
+endif
ifneq ($(LOCAL_CERTIFICATE),PRESIGNED)
@# Only strip out files if we can re-sign the package.
ifdef LOCAL_DEX_PREOPT
diff --git a/core/product_config.mk b/core/product_config.mk
index 54050b4..259d983 100644
--- a/core/product_config.mk
+++ b/core/product_config.mk
@@ -117,7 +117,7 @@ ifdef product_goals
# which really means TARGET_PRODUCT=dream make installclean.
ifneq ($(filter-out $(INTERNAL_VALID_VARIANTS),$(TARGET_BUILD_VARIANT)),)
MAKECMDGOALS := $(MAKECMDGOALS) $(TARGET_BUILD_VARIANT)
- TARGET_BUILD_VARIANT := eng
+ TARGET_BUILD_VARIANT := userdebug
default_goal_substitution :=
else
default_goal_substitution := $(DEFAULT_GOAL)
diff --git a/core/qcom_target.mk b/core/qcom_target.mk
index 5724a5b..092d832 100644
--- a/core/qcom_target.mk
+++ b/core/qcom_target.mk
@@ -13,8 +13,12 @@ endef
# Set device-specific HALs into project pathmap
define set-device-specific-path
-$(call project-set-path,qcom-$(2),$(strip $(if $(USE_DEVICE_SPECIFIC_$(1)), \
- $(TARGET_DEVICE_DIR)/$(2), $(3))))
+$(if $(USE_DEVICE_SPECIFIC_$(1)), \
+ $(if $(DEVICE_SPECIFIC_$(1)_PATH), \
+ $(eval path := $(DEVICE_SPECIFIC_$(1)_PATH)), \
+ $(eval path := $(TARGET_DEVICE_DIR)/$(2))), \
+ $(eval path := $(3))) \
+$(call project-set-path,qcom-$(2),$(strip $(path)))
endef
ifeq ($(BOARD_USES_QCOM_HARDWARE),true)
@@ -33,6 +37,7 @@ ifeq ($(BOARD_USES_QCOM_HARDWARE),true)
qcom_flags += -DQCOM_BSP_LEGACY
# Enable legacy audio functions
ifeq ($(BOARD_USES_LEGACY_ALSA_AUDIO),true)
+ USE_CUSTOM_AUDIO_POLICY := 1
qcom_flags += -DLEGACY_ALSA_AUDIO
endif
endif
diff --git a/core/tasks/kernel.mk b/core/tasks/kernel.mk
index a3fa8a4..d8185b4 100644
--- a/core/tasks/kernel.mk
+++ b/core/tasks/kernel.mk
@@ -12,7 +12,44 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+
# Android makefile to build kernel as a part of Android Build
+#
+# Configuration
+# =============
+#
+# These config vars are usually set in BoardConfig.mk:
+#
+# TARGET_KERNEL_SOURCE = Kernel source dir, optional, defaults
+# to kernel/$(TARGET_DEVICE_DIR)
+# TARGET_KERNEL_CONFIG = Kernel defconfig
+# TARGET_KERNEL_VARIANT_CONFIG = Variant defconfig, optional
+# TARGET_KERNEL_SELINUX_CONFIG = SELinux defconfig, optional
+# TARGET_KERNEL_ADDITIONAL_CONFIG = Additional defconfig, optional
+# TARGET_KERNEL_ARCH = Kernel Arch
+# TARGET_KERNEL_HEADER_ARCH = Optional Arch for kernel headers if
+# different from TARGET_KERNEL_ARCH
+# TARGET_USES_UNCOMPRESSED_KERNEL = 'true' if Kernel is uncompressed,
+# optional, defaults to false
+# TARGET_KERNEL_CROSS_COMPILE_PREFIX = Compiler prefix (e.g. aarch64-linux-android-)
+# defaults to arm-eabi-
+#
+# BOARD_KERNEL_IMAGE_NAME = Built image name, optional,
+# defaults to Image.gz on arm64
+# defaults to Image if TARGET_USES_UNCOMPRESSED_KERNEL
+# defaults to zImage otherwise
+#
+# KERNEL_TOOLCHAIN_PREFIX = Overrides TARGET_KERNEL_CROSS_COMPILE_PREFIX,
+# Set this var in shell to override
+# toolchain specified in BoardConfig.mk
+# KERNEL_TOOLCHAIN = Path to toolchain, if unset, assumes
+# TARGET_KERNEL_CROSS_COMPILE_PREFIX
+# is in PATH
+# USE_CCACHE = Enable ccache (global Android flag)
+#
+# NEED_KERNEL_MODULE_ROOT = Optional, if true, install kernel
+# modules in root instead of system
+
TARGET_AUTO_KDIR := $(shell echo $(TARGET_DEVICE_DIR) | sed -e 's/^device/kernel/g')
@@ -159,33 +196,24 @@ else
endif
endif
-ifeq ($(BOARD_HAS_MTK_HARDWARE),true)
- ifeq ($(BOARD_USES_MTK_KERNELBUILD),true)
- include $(CLEAR_VARS)
- $(shell rm -f $(TARGET_PREBUILT_INT_KERNEL))
- FULL_KERNEL_BUILD := false
- PROJECT_NAME := $(TARGET_KERNEL_CONFIG)
-$(TARGET_PREBUILT_INT_KERNEL):
- cd $(TARGET_KERNEL_SOURCE) && env -i PATH=$(PATH) ./makeMtk -t -o=OUT_DIR=$(OUT_DIR),TARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT) $(PROJECT_NAME) r k
- -cd $(TARGET_KERNEL_SOURCE) && git clean -fd
-
- endif
-endif
-
ifeq ($(FULL_KERNEL_BUILD),true)
KERNEL_HEADERS_INSTALL := $(KERNEL_OUT)/usr
KERNEL_HEADERS_INSTALL_STAMP := $(KERNEL_OUT)/.headers_install_stamp
+
+ifeq ($(NEED_KERNEL_MODULE_ROOT),true)
+KERNEL_MODULES_INSTALL := root
+KERNEL_MODULES_OUT := $(TARGET_ROOT_OUT)/lib/modules
+else
KERNEL_MODULES_INSTALL := system
KERNEL_MODULES_OUT := $(TARGET_OUT)/lib/modules
+endif
TARGET_KERNEL_CROSS_COMPILE_PREFIX := $(strip $(TARGET_KERNEL_CROSS_COMPILE_PREFIX))
ifeq ($(TARGET_KERNEL_CROSS_COMPILE_PREFIX),)
-ifeq ($(KERNEL_TOOLCHAIN_PREFIX),)
-KERNEL_TOOLCHAIN_PREFIX := arm-none-eabi-
-endif
+KERNEL_TOOLCHAIN_PREFIX ?= arm-none-eabi-
else
-KERNEL_TOOLCHAIN_PREFIX := arm-none-eabi-
+KERNEL_TOOLCHAIN_PREFIX ?= $(TARGET_KERNEL_CROSS_COMPILE_PREFIX)
endif
ifeq ($(KERNEL_TOOLCHAIN),)
@@ -232,6 +260,7 @@ endif
$(KERNEL_OUT_STAMP):
$(hide) mkdir -p $(KERNEL_OUT)
+ $(hide) rm -rf $(KERNEL_MODULES_OUT)
$(hide) mkdir -p $(KERNEL_MODULES_OUT)
$(hide) touch $@
@@ -242,6 +271,7 @@ $(KERNEL_ADDITIONAL_CONFIG_OUT): force_additional_config
$(hide) cmp -s $(KERNEL_ADDITIONAL_CONFIG_SRC) $@ || cp $(KERNEL_ADDITIONAL_CONFIG_SRC) $@;
$(KERNEL_CONFIG): $(KERNEL_OUT_STAMP) $(KERNEL_DEFCONFIG_SRC) $(KERNEL_ADDITIONAL_CONFIG_OUT)
+ @echo -e ${CL_GRN}"Building Kernel Config"${CL_RST}
$(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) VARIANT_DEFCONFIG=$(VARIANT_DEFCONFIG) SELINUX_DEFCONFIG=$(SELINUX_DEFCONFIG) $(KERNEL_DEFCONFIG)
$(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \
echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \
@@ -281,6 +311,7 @@ $(TARGET_PREBUILT_INT_KERNEL): $(TARGET_KERNEL_MODULES)
$(clean-module-folder)
$(KERNEL_HEADERS_INSTALL_STAMP): $(KERNEL_OUT_STAMP) $(KERNEL_CONFIG)
+ @echo -e ${CL_GRN}"Building Kernel Headers"${CL_RST}
$(hide) if [ ! -z "$(KERNEL_HEADER_DEFCONFIG)" ]; then \
rm -f ../$(KERNEL_CONFIG); \
$(MAKE) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_HEADER_ARCH) $(KERNEL_CROSS_COMPILE) VARIANT_DEFCONFIG=$(VARIANT_DEFCONFIG) SELINUX_DEFCONFIG=$(SELINUX_DEFCONFIG) $(KERNEL_HEADER_DEFCONFIG); \
@@ -308,10 +339,7 @@ kerneltags: $(KERNEL_OUT_STAMP) $(KERNEL_CONFIG)
kernelconfig: KERNELCONFIG_MODE := menuconfig
kernelxconfig: KERNELCONFIG_MODE := xconfig
kernelxconfig kernelconfig: $(KERNEL_OUT_STAMP)
- $(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) VARIANT_DEFCONFIG=$(VARIANT_DEFCONFIG) SELINUX_DEFCONFIG=$(SELINUX_DEFCONFIG) $(KERNEL_DEFCONFIG)
- $(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \
- echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \
- echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; fi
+ $(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) $(KERNEL_DEFCONFIG)
env KCONFIG_NOTIMESTAMP=true \
$(MAKE) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) $(KERNELCONFIG_MODE)
env KCONFIG_NOTIMESTAMP=true \
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index bf9b2e8..be5833d 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -103,7 +103,7 @@ ifeq "" "$(PLATFORM_SECURITY_PATCH)"
# Can be an arbitrary string, but must be a single word.
#
# If there is no $PLATFORM_SECURITY_PATCH set, keep it empty.
- PLATFORM_SECURITY_PATCH := 2016-02-01
+ PLATFORM_SECURITY_PATCH := 2016-03-01
endif
ifeq "" "$(PLATFORM_BASE_OS)"