diff options
author | Mike Frysinger <vapier@google.com> | 2016-03-01 16:12:10 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@google.com> | 2016-03-01 16:12:10 -0500 |
commit | 4b3ab413d96031d5f82b27fb06ab36b496688af4 (patch) | |
tree | f50221499204e278f6e9cb7541c723640dc4c6f3 | |
parent | 1f772b47541dd37edbee11107b355a7ad7984bb8 (diff) | |
download | integration-4b3ab413d96031d5f82b27fb06ab36b496688af4.tar.gz |
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
-rw-r--r-- | Android.mk | 6 | ||||
-rw-r--r-- | portage/Android.mk | 5 |
2 files changed, 5 insertions, 6 deletions
@@ -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):' \ |