toolchain: depend on system C/C++ libs
We sometimes fail when building in parallel because we start
emerging before the C/C++ core system libs are available.
Change-Id: I0b52f9b29bfe7418b4dc8cdb34c27e5d7d69e27d
diff --git a/Android.mk b/Android.mk
index 2121d64..b3f463f 100644
--- a/Android.mk
+++ b/Android.mk
@@ -12,6 +12,10 @@
3RD_PARTY_ROOT := $(TARGET_OUT_GENTOO)/root
3RD_PARTY_ROOT_SUBDIR := $(patsubst $(PRODUCT_OUT)/%,%,$(3RD_PARTY_ROOT))
+# These are system packages that we assume are always available before we can
+# compile anything at all. Basically we need a functional C/C++ compiler.
+3RD_PARTY_SYSTEM_DEPS := libc libc++ libdl libm libstdc++
+
# We have to include subdirs first as they set up some vars we use below.
3RD_PARTY_CONFIGS :=
3RD_PARTY_WRAPPERS :=
diff --git a/toolchain/Android.mk b/toolchain/Android.mk
index 70d3286..62d5186 100644
--- a/toolchain/Android.mk
+++ b/toolchain/Android.mk
@@ -9,7 +9,7 @@
include $(BUILD_SYSTEM)/base_rules.mk
compiler = $(intermediates)/$(LOCAL_MODULE)
-$(compiler): $(LOCAL_PATH)/$(LOCAL_MODULE).in
+$(compiler): $(LOCAL_PATH)/$(LOCAL_MODULE).in | $(3RD_PARTY_SYSTEM_DEPS)
$(hide)mkdir -p $(dir $@)
$(hide)sed \
-e 's:@CC@:$(notdir $(TARGET_CC)):' \
@@ -33,7 +33,7 @@
include $(BUILD_SYSTEM)/base_rules.mk
compiler = $(intermediates)/$(LOCAL_MODULE)
-$(compiler): $(LOCAL_PATH)/$(LOCAL_MODULE).in
+$(compiler): $(LOCAL_PATH)/$(LOCAL_MODULE).in | $(3RD_PARTY_SYSTEM_DEPS)
$(hide)mkdir -p $(dir $@)
$(hide)sed \
-e 's:@CXX@:$(notdir $(TARGET_CXX)):' \