Merge "Include the okhttp.jar when compiling against internal classes"
diff --git a/core/Makefile b/core/Makefile
index f7f6e48..73d6e4b 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -695,7 +695,7 @@
INTERNAL_USERIMAGES_DEPS += $(BUILD_VERITY_TREE) $(APPEND2SIMG) $(VERITY_SIGNER)
endif
-SELINUX_FC := $(TARGET_ROOT_OUT)/file_contexts
+SELINUX_FC := $(TARGET_ROOT_OUT)/file_contexts.bin
INTERNAL_USERIMAGES_DEPS += $(SELINUX_FC)
# $(1): the path of the output dictionary file
@@ -779,9 +779,11 @@
recovery_font := $(call include-path-for, recovery)/fonts/12x22.png
endif
-recovery_resources_private := $(strip $(wildcard $(TARGET_DEVICE_DIR)/recovery/res))
+ifndef TARGET_PRIVATE_RES_DIRS
+TARGET_PRIVATE_RES_DIRS := $(wildcard $(TARGET_DEVICE_DIR)/recovery/res)
+endif
recovery_resource_deps := $(shell find $(recovery_resources_common) \
- $(recovery_resources_private) -type f)
+ $(TARGET_PRIVATE_RES_DIRS) -type f)
ifdef TARGET_RECOVERY_FSTAB
recovery_fstab := $(TARGET_RECOVERY_FSTAB)
else
@@ -797,7 +799,7 @@
RECOVERY_RESOURCE_ZIP :=
endif
-ifeq ($(recovery_resources_private),)
+ifeq ($(TARGET_PRIVATE_RES_DIRS),)
$(info No private recovery resources for TARGET_DEVICE $(TARGET_DEVICE))
endif
@@ -857,8 +859,8 @@
$(hide) rm -rf $(TARGET_RECOVERY_ROOT_OUT)/res/*
$(hide) cp -rf $(recovery_resources_common)/* $(TARGET_RECOVERY_ROOT_OUT)/res
$(hide) cp -f $(recovery_font) $(TARGET_RECOVERY_ROOT_OUT)/res/images/font.png
- $(hide) $(foreach item,$(recovery_resources_private), \
- cp -rf $(item) $(TARGET_RECOVERY_ROOT_OUT)/)
+ $(hide) $(foreach item,$(TARGET_PRIVATE_RES_DIRS), \
+ cp -rf $(item) $(TARGET_RECOVERY_ROOT_OUT)/$(newline))
$(hide) $(foreach item,$(recovery_fstab), \
cp -f $(item) $(TARGET_RECOVERY_ROOT_OUT)/etc/recovery.fstab)
$(hide) cp $(RECOVERY_INSTALL_OTA_KEYS) $(TARGET_RECOVERY_ROOT_OUT)/res/keys
@@ -1282,7 +1284,8 @@
# -----------------------------------------------------------------
# host tools needed to build dist and OTA packages
-DISTTOOLS := $(HOST_OUT_EXECUTABLES)/minigzip \
+OTATOOLS := $(HOST_OUT_EXECUTABLES)/minigzip \
+ $(HOST_OUT_EXECUTABLES)/aapt \
$(HOST_OUT_EXECUTABLES)/mkbootfs \
$(HOST_OUT_EXECUTABLES)/mkbootimg \
$(HOST_OUT_EXECUTABLES)/fs_config \
@@ -1303,7 +1306,7 @@
$(HOST_OUT_EXECUTABLES)/boot_signer
# Shared libraries.
-DISTTOOLS += \
+OTATOOLS += \
$(HOST_LIBRARY_PATH)/libc++$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/liblog$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libcutils$(HOST_SHLIB_SUFFIX) \
@@ -1317,9 +1320,6 @@
$(HOST_LIBRARY_PATH)/libext2_quota_host$(HOST_SHLIB_SUFFIX) \
$(HOST_LIBRARY_PATH)/libext2_uuid_host$(HOST_SHLIB_SUFFIX)
-OTATOOLS := $(DISTTOOLS) \
- $(HOST_OUT_EXECUTABLES)/aapt
-
.PHONY: otatools
otatools: $(OTATOOLS)
@@ -1483,7 +1483,7 @@
$(hide) $(ACP) $(APKCERTS_FILE) $(zip_root)/META/apkcerts.txt
$(hide) if test -e $(tool_extensions)/releasetools.py; then $(ACP) $(tool_extensions)/releasetools.py $(zip_root)/META/; fi
$(hide) echo "$(PRODUCT_OTA_PUBLIC_KEYS)" > $(zip_root)/META/otakeys.txt
- $(hide) $(ACP) $(SELINUX_FC) $(zip_root)/META/file_contexts
+ $(hide) $(ACP) $(SELINUX_FC) $(zip_root)/META/file_contexts.bin
$(hide) echo "recovery_api_version=$(PRIVATE_RECOVERY_API_VERSION)" > $(zip_root)/META/misc_info.txt
$(hide) echo "fstab_version=$(PRIVATE_RECOVERY_FSTAB_VERSION)" >> $(zip_root)/META/misc_info.txt
ifdef BOARD_FLASH_BLOCK_SIZE
@@ -1551,12 +1551,27 @@
$(call dist-for-goals, target-files-package, $(BUILT_TARGET_FILES_PACKAGE))
endif
-ifneq ($(SANITIZE_TARGET),address)
-ifneq ($(TARGET_PRODUCT),sdk)
-ifeq ($(filter generic%,$(TARGET_DEVICE)),)
-ifneq ($(TARGET_NO_KERNEL),true)
-ifneq ($(recovery_fstab),)
+build_ota_package := true
+ifeq ($(BUILD_OS),darwin)
+build_ota_package := false
+endif
+ifeq ($(SANITIZE_TARGET),address)
+build_ota_package := false
+endif
+ifeq ($(TARGET_PRODUCT),sdk)
+build_ota_package := false
+endif
+ifneq ($(filter generic%,$(TARGET_DEVICE)),)
+build_ota_package := false
+endif
+ifeq ($(TARGET_NO_KERNEL),true)
+build_ota_package := false
+endif
+ifeq ($(recovery_fstab),)
+build_ota_package := false
+endif
+ifeq ($(build_ota_package),true)
# -----------------------------------------------------------------
# OTA update package
@@ -1570,7 +1585,7 @@
$(INTERNAL_OTA_PACKAGE_TARGET): KEY_CERT_PAIR := $(DEFAULT_KEY_CERT_PAIR)
-$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
+$(INTERNAL_OTA_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE)
@echo "Package OTA: $@"
$(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH MKBOOTIMG=$(MKBOOTIMG) \
./build/tools/releasetools/ota_from_target_files -v \
@@ -1583,11 +1598,7 @@
.PHONY: otapackage
otapackage: $(INTERNAL_OTA_PACKAGE_TARGET)
-endif # recovery_fstab is defined
-endif # TARGET_NO_KERNEL != true
-endif # TARGET_DEVICE != generic*
-endif # TARGET_PRODUCT != sdk
-endif # SANITIZE_TARGET != address
+endif # build_ota_package
# -----------------------------------------------------------------
# The update package
@@ -1600,7 +1611,7 @@
INTERNAL_UPDATE_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip
-$(INTERNAL_UPDATE_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE) $(DISTTOOLS)
+$(INTERNAL_UPDATE_PACKAGE_TARGET): $(BUILT_TARGET_FILES_PACKAGE)
@echo "Package: $@"
$(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH MKBOOTIMG=$(MKBOOTIMG) \
./build/tools/releasetools/img_from_target_files -v \
diff --git a/core/binary.mk b/core/binary.mk
index 79548ba..c716b17 100644
--- a/core/binary.mk
+++ b/core/binary.mk
@@ -179,6 +179,22 @@
endif
endif
+my_cpp_std_version := -std=gnu++14
+ifdef LOCAL_SDK_VERSION
+ # The NDK handles this itself.
+ my_cpp_std_version :=
+endif
+
+ifdef LOCAL_IS_HOST_MODULE
+ ifneq ($(my_clang),true)
+ # The host GCC doesn't support C++14 (and is deprecated, so likely
+ # never will). Build these modules with C++11.
+ my_cpp_std_version := -std=gnu++11
+ endif
+endif
+
+my_cppflags := $(my_cpp_std_version) $(my_cppflags)
+
# Add option to make clang the default for device build
ifeq ($(USE_CLANG_PLATFORM_BUILD),true)
ifeq ($(my_clang),)
diff --git a/core/config.mk b/core/config.mk
index 843d7d6..498c793 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -114,7 +114,7 @@
COMMON_GLOBAL_CFLAGS:= -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith
COMMON_RELEASE_CFLAGS:= -DNDEBUG -UDEBUG
-COMMON_GLOBAL_CPPFLAGS:= $(COMMON_GLOBAL_CFLAGS) -Wsign-promo -std=gnu++11
+COMMON_GLOBAL_CPPFLAGS:= $(COMMON_GLOBAL_CFLAGS) -Wsign-promo
COMMON_RELEASE_CPPFLAGS:= $(COMMON_RELEASE_CFLAGS)
GLOBAL_CFLAGS_NO_OVERRIDE := \
diff --git a/target/product/embedded.mk b/target/product/embedded.mk
index c40de4f..468fbe5 100644
--- a/target/product/embedded.mk
+++ b/target/product/embedded.mk
@@ -75,7 +75,7 @@
# SELinux packages
PRODUCT_PACKAGES += \
sepolicy \
- file_contexts \
+ file_contexts.bin \
seapp_contexts \
property_contexts \
mac_permissions.xml \
diff --git a/tools/droiddoc/templates-sac/assets/css/default.css b/tools/droiddoc/templates-sac/assets/css/default.css
index 2572aae..3e4b539 100644
--- a/tools/droiddoc/templates-sac/assets/css/default.css
+++ b/tools/droiddoc/templates-sac/assets/css/default.css
@@ -408,7 +408,7 @@
.content-header.just-links {
margin-bottom:0;
padding-bottom:0;}
-
+
.content-header h1 {
color:#000;
margin:0;
@@ -423,7 +423,7 @@
height: 30px;
}
-.content-footer-test {
+.content-footer-sac {
border-top: 1px solid #ccc;
}
.content-footer .col-9 {
diff --git a/tools/droiddoc/templates-sac/docpage.cs b/tools/droiddoc/templates-sac/docpage.cs
index 6b16a57..3d120b6 100644
--- a/tools/droiddoc/templates-sac/docpage.cs
+++ b/tools/droiddoc/templates-sac/docpage.cs
@@ -34,7 +34,7 @@
ru-lang="Предыдущий"
ko-lang="이전"
ja-lang="前へ"
- es-lang="Anterior"
+ es-lang="Anterior"
>Previous</a>
<a href="#" class="next-page-link hide"
zh-TW-lang="下一堂課"
@@ -42,7 +42,7 @@
ru-lang="Следующий"
ko-lang="다음"
ja-lang="次へ"
- es-lang="Siguiente"
+ es-lang="Siguiente"
>Next</a>
<a href="#" class="start-class-link hide"
zh-TW-lang="開始上課"
@@ -50,7 +50,7 @@
ru-lang="Начало работы"
ko-lang="시작하기"
ja-lang="開始する"
- es-lang="Empezar"
+ es-lang="Empezar"
>Get started</a>
</div>
<?cs elif:!page.trainingcourse ?>
@@ -61,7 +61,7 @@
ru-lang="Предыдущий"
ko-lang="이전"
ja-lang="前へ"
- es-lang="Anterior"
+ es-lang="Anterior"
>Previous</a>
<a href="#" class="next-page-link hide"
zh-TW-lang="下一堂課"
@@ -69,7 +69,7 @@
ru-lang="Следующий"
ko-lang="다음"
ja-lang="次へ"
- es-lang="Siguiente"
+ es-lang="Siguiente"
>Next</a>
</div>
<?cs /if ?><?cs # end if training ?>
@@ -87,7 +87,6 @@
<?cs /if ?>
<h1 itemprop="name" style="margin-bottom:0;"><?cs var:page.title ?></h1>
<p itemprop="description"><?cs var:page.landing.intro ?></p>
-
<p><a class="next-page-link topic-start-link"></a></p>
<?cs if:page.landing.image ?>
</div>
@@ -112,12 +111,11 @@
<?cs # THIS IS THE MAIN DOC CONTENT ?>
<div id="jd-content">
-
<div class="jd-descr" itemprop="articleBody">
<?cs call:tag_list(root.descr) ?>
</div>
- <div class="content-footer-test"
+ <div class="content-footer-sac"
itemscope itemtype="http://schema.org/SiteNavigationElement">
<div class="layout-content-col <?cs
if:fullpage ?>col-16<?cs
@@ -141,23 +139,20 @@
ru-lang="Следующий"
ko-lang="다음"
ja-lang="次へ"
- es-lang="Siguiente"
+ es-lang="Siguiente"
>Next</a>
<?cs /if ?>
</div>
<?cs /if ?>
</div>
-
<?cs # for training classes, provide a different kind of link when the next page is a different class ?>
<?cs if:training && !page.article ?>
<div class="layout-content-row content-footer next-class" style="display:none" itemscope itemtype="http://schema.org/SiteNavigationElement">
<a href="#" class="next-class-link hide">Next class: </a>
</div>
<?cs /if ?>
-
- </div> <!-- end jd-content -->
-
-<?cs include:"footer.cs" ?>
+ </div> <!-- end jd-content -->
+ <?cs include:"footer.cs" ?>
</div><!-- end doc-content -->
<?cs include:"trailer.cs" ?>
diff --git a/tools/releasetools/blockimgdiff.py b/tools/releasetools/blockimgdiff.py
index a007f81..a32c6b1 100644
--- a/tools/releasetools/blockimgdiff.py
+++ b/tools/releasetools/blockimgdiff.py
@@ -461,7 +461,7 @@
if free_string:
out.append("".join(free_string))
- if self.version >= 2:
+ if self.version >= 2 and common.OPTIONS.cache_size is not None:
# Sanity check: abort if we're going to need more stash space than
# the allowed size (cache_size * threshold). There are two purposes
# of having a threshold here. a) Part of the cache may have been
@@ -502,10 +502,16 @@
if self.version >= 2:
max_stashed_size = max_stashed_blocks * self.tgt.blocksize
- max_allowed = common.OPTIONS.cache_size * common.OPTIONS.stash_threshold
- print("max stashed blocks: %d (%d bytes), limit: %d bytes (%.2f%%)\n" % (
- max_stashed_blocks, max_stashed_size, max_allowed,
- max_stashed_size * 100.0 / max_allowed))
+ OPTIONS = common.OPTIONS
+ if OPTIONS.cache_size is not None:
+ max_allowed = OPTIONS.cache_size * OPTIONS.stash_threshold
+ print("max stashed blocks: %d (%d bytes), "
+ "limit: %d bytes (%.2f%%)\n" % (
+ max_stashed_blocks, max_stashed_size, max_allowed,
+ max_stashed_size * 100.0 / max_allowed))
+ else:
+ print("max stashed blocks: %d (%d bytes), limit: <unknown>\n" % (
+ max_stashed_blocks, max_stashed_size))
def ComputePatches(self, prefix):
print("Reticulating splines...")
diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py
index a67f044..d56c0fd 100644
--- a/tools/releasetools/common.py
+++ b/tools/releasetools/common.py
@@ -57,6 +57,9 @@
self.extras = {}
self.info_dict = None
self.worker_threads = None
+ # Stash size cannot exceed cache_size * threshold.
+ self.cache_size = None
+ self.stash_threshold = 0.8
OPTIONS = Options()
@@ -151,16 +154,16 @@
# are doing repacking. Redirect those properties to the actual files in the
# unzipped directory.
if input_dir is not None:
- # We carry a copy of file_contexts under META/. If not available, search
- # BOOT/RAMDISK/. Note that sometimes we may need a different file_contexts
+ # We carry a copy of file_contexts.bin under META/. If not available,
+ # search BOOT/RAMDISK/. Note that sometimes we may need a different file
# to build images than the one running on device, such as when enabling
# system_root_image. In that case, we must have the one for image
# generation copied to META/.
- fc_config = os.path.join(input_dir, "META", "file_contexts")
+ fc_config = os.path.join(input_dir, "META", "file_contexts.bin")
if d.get("system_root_image") == "true":
assert os.path.exists(fc_config)
if not os.path.exists(fc_config):
- fc_config = os.path.join(input_dir, "BOOT", "RAMDISK", "file_contexts")
+ fc_config = os.path.join(input_dir, "BOOT", "RAMDISK", "file_contexts.bin")
if not os.path.exists(fc_config):
fc_config = None
diff --git a/tools/releasetools/ota_from_target_files.py b/tools/releasetools/ota_from_target_files.py
index 03b7e05..9ab8cb3 100755
--- a/tools/releasetools/ota_from_target_files.py
+++ b/tools/releasetools/ota_from_target_files.py
@@ -125,9 +125,6 @@
OPTIONS.oem_source = None
OPTIONS.fallback_to_full = True
OPTIONS.full_radio = False
-# Stash size cannot exceed cache_size * threshold.
-OPTIONS.cache_size = None
-OPTIONS.stash_threshold = 0.8
def MostPopularKey(d, default):
@@ -588,8 +585,8 @@
if HasVendorPartition(input_zip):
system_progress -= 0.1
- # Place a copy of file_contexts into the OTA package which will be used by
- # the recovery program.
+ # Place a copy of file_contexts.bin into the OTA package which will be used
+ # by the recovery program.
if "selinux_fc" in OPTIONS.info_dict:
WritePolicyConfig(OPTIONS.info_dict["selinux_fc"], output_zip)
@@ -1594,7 +1591,7 @@
cache_size = OPTIONS.info_dict.get("cache_size", None)
if cache_size is None:
- raise RuntimeError("can't determine the cache partition size")
+ print "--- can't determine the cache partition size ---"
OPTIONS.cache_size = cache_size
if OPTIONS.incremental_source is None: