Merge "Remove USE_NINJA=false"
diff --git a/core/cleanbuild.mk b/core/cleanbuild.mk
index c5b15bc..0d6a406 100644
--- a/core/cleanbuild.mk
+++ b/core/cleanbuild.mk
@@ -253,6 +253,7 @@
$(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.recovery_intermediates \
$(PRODUCT_OUT)/obj/ETC/init.environ.rc_intermediates
# The files/dirs to delete during a dataclean, which removes any files
diff --git a/core/java_common.mk b/core/java_common.mk
index ddf2958..d9ce9df 100644
--- a/core/java_common.mk
+++ b/core/java_common.mk
@@ -4,7 +4,11 @@
## Java version
###########################################################
ifeq (,$(LOCAL_JAVA_LANGUAGE_VERSION))
- LOCAL_JAVA_LANGUAGE_VERSION := 1.7
+ ifeq (,$(LEGACY_USE_JAVA7))
+ LOCAL_JAVA_LANGUAGE_VERSION := 1.8
+ else
+ LOCAL_JAVA_LANGUAGE_VERSION := 1.7
+ endif
endif
LOCAL_JAVACFLAGS += -source $(LOCAL_JAVA_LANGUAGE_VERSION) -target $(LOCAL_JAVA_LANGUAGE_VERSION)
diff --git a/core/ninja.mk b/core/ninja.mk
index 2878514..b7729c1 100644
--- a/core/ninja.mk
+++ b/core/ninja.mk
@@ -116,6 +116,10 @@
NINJA_ARGS += "-v"
endif
+# Make multiple rules to generate the same target an error instead of
+# proceeding with undefined behavior.
+NINJA_ARGS += -w dupbuild=err
+
ifdef USE_GOMA
KATI_MAKEPARALLEL := $(MAKEPARALLEL)
# Ninja runs remote jobs (i.e., commands which contain gomacc) with
@@ -159,7 +163,8 @@
KATI_LD := $(CLANG_CXX) $(CLANG_HOST_GLOBAL_LDFLAGS)
# Build static ckati. Unfortunately Mac OS X doesn't officially support static exectuables.
ifeq ($(BUILD_OS),linux)
-KATI_LD += -static
+# We need everything in libpthread.a otherwise C++11's threading library will be disabled.
+KATI_LD += -static -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -ldl
endif
KATI_INTERMEDIATES_PATH := $(HOST_OUT_INTERMEDIATES)/EXECUTABLES/ckati_intermediates