From c43c604d03c85936c132717f0daa57889a6a2378 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 1 Mar 2016 16:12:10 -0500 Subject: fix handling of absolute build paths When building under the BDK, some paths are absolute instead of relative, so we end up appending an absolute path to an absolute path which breaks. Add explicit checks to each possible absolute path before we try to make it into one by hand. BUG=b/27434200 TEST=`m -j32` w/libpng under bdk works TEST=`lunch && make` w/python works TEST=`make PRODUCT-brilloemulator_arm-eng` w/python works Change-Id: I89070760bc849ac652c2e4a71055d66da763792c (cherry picked from commit 4b3ab413d96031d5f82b27fb06ab36b496688af4) --- Android.mk | 6 +++--- portage/Android.mk | 5 ++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Android.mk b/Android.mk index a6dae57..e10cad1 100644 --- a/Android.mk +++ b/Android.mk @@ -96,9 +96,9 @@ ifneq ($(PRODUCT_3RD_PARTY_PACKAGES),) mv $@.tmp $@; \ exit 0; \ fi; \ - export ANDROID_TOOLCHAIN="$(PWD)/$(TARGET_TOOLCHAIN_ROOT)/bin"; \ - export ANDROID_BUILD_PATHS="$(PWD)/$(HOST_OUT_EXECUTABLES):$${ANDROID_TOOLCHAIN}:$(ANDROID_BUILD_PATHS)"; \ - export ANDROID_PRODUCT_OUT="$(PWD)/$(PRODUCT_OUT)"; \ + export ANDROID_TOOLCHAIN="$(if $(filter /%,$(TARGET_TOOLCHAIN_ROOT)),,$(PWD)/)$(TARGET_TOOLCHAIN_ROOT)/bin"; \ + export ANDROID_BUILD_PATHS="$(if $(filter /%,$(HOST_OUT_EXECUTABLES)),,$(PWD)/)$(HOST_OUT_EXECUTABLES):$${ANDROID_TOOLCHAIN}:$(ANDROID_BUILD_PATHS)"; \ + export ANDROID_PRODUCT_OUT="$(if $(filter /%,$(PRODUCT_OUT)),,$(PWD)/)$(PRODUCT_OUT)"; \ export ANDROID_BUILD_TOP="$(PWD)"; \ $(HOST_OUT_EXECUTABLES)/emerge -uN $(3RD_PARTY_PACKAGES_QUOTED) || exit; \ $(HOST_OUT_EXECUTABLES)/3rd-party-merge \ diff --git a/portage/Android.mk b/portage/Android.mk index 13d1cc6..90db666 100644 --- a/portage/Android.mk +++ b/portage/Android.mk @@ -26,7 +26,6 @@ TARGET_KEYWORD := $(call gentoo-arch,$(TARGET_ARCH)) TARGET_RANLIB ?= $(TARGET_AR:ar=ranlib) MAIN_OVERLAY_REPO := `readlink -f $(LOCAL_PATH)`/../../overlays/gentoo -MAIN_OVERLAY_REPO_REL := $(LOCAL_PATH)/../../overlays/gentoo include $(CLEAR_VARS) @@ -38,7 +37,7 @@ make.profile := $(3RD_PARTY_ROOT)/etc/portage/make.profile $(make.profile): $(hide)mkdir -p $(dir $@) $(hide)ln -sfT \ - `echo $(dir $@) | sed 's:[^/]*/:../:g'`/$(MAIN_OVERLAY_REPO_REL)/profiles/default/linux/$(TARGET_KEYWORD) \ + $(MAIN_OVERLAY_REPO)/profiles/default/linux/$(TARGET_KEYWORD) \ $@ LOCAL_MODULE := make.conf @@ -64,7 +63,7 @@ $(make.conf): $(LOCAL_PATH)/make.conf.in $(make.profile) -e 's:@ARCH@:$(TARGET_ARCH):g' \ -e 's:@CBUILD@:$(CBUILD):g' \ -e 's:@CHOST@:$(CHOST):g' \ - -e 's:@COMMON_OBJ@:$${ANDROID_BUILD_TOP}/$(TARGET_OUT_COMMON_GENTOO):' \ + -e 's:@COMMON_OBJ@:$(if $(filter /%,$(TARGET_OUT_COMMON_GENTOO)),,$${ANDROID_BUILD_TOP}/)$(TARGET_OUT_COMMON_GENTOO):g' \ -e 's:@PRODUCT_OBJ@:$${ANDROID_PRODUCT_OUT}/obj/gentoo:g' \ -e 's:@PORTAGE_PREFIX@:$(PORTAGE_PREFIX):g' \ -e 's:@LIBDIR@:$(3RD_PARTY_LIBDIR):' \ -- cgit v1.2.3