Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 13cb165b authored by Dan Willemsen's avatar Dan Willemsen
Browse files

Stop removing valid copy headers

My change to clean up obsolete copy headers would remove valid ones if
thhe LOCAL_COPY_HEADERS_TO path wasn't cleaned. I'm seeing this most
with values that just end in '/', so we end up with a '//' in the path,
which isn't textually equivalent, and we remove it.

Test: No longer seeing constant removals on internal products
Test: Set LOCAL_COPY_HEADERS_TO := ..
Test: Set LOCAL_COPY_HEADERS_TO := ../foo
Test: Set LOCAL_COPY_HEADERS_TO := /foo
Change-Id: Idbeeb207a2bb2a8da766473dbded877cec7c9cc1
parent 7c18a371
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -4,15 +4,13 @@ ifneq (,$(strip $(LOCAL_COPY_HEADERS)))
###########################################################
$(call record-module-type,COPY_HEADERS)
ifneq ($(strip $(LOCAL_IS_HOST_MODULE)),)
  $(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): LOCAL_COPY_HEADERS may not be used with host modules >&2)
  $(error done)
  $(call pretty-error,LOCAL_COPY_HEADERS may not be used with host modules)
endif

# Modules linking against the SDK do not have the include path to use
# COPY_HEADERS, so prevent them from exporting any either.
ifdef LOCAL_SDK_VERSION
$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): Modules using LOCAL_SDK_VERSION may not use LOCAL_COPY_HEADERS >&2)
$(error done)
  $(call pretty-error,Modules using LOCAL_SDK_VERSION may not use LOCAL_COPY_HEADERS)
endif

include $(BUILD_SYSTEM)/local_vndk.mk
@@ -22,11 +20,20 @@ include $(BUILD_SYSTEM)/local_vndk.mk
# present.
ifdef BOARD_VNDK_VERSION
ifndef LOCAL_USE_VNDK
$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): Only vendor modules using LOCAL_USE_VNDK may use LOCAL_COPY_HEADERS >&2)
$(error done)
  $(call pretty-error,Only vendor modules using LOCAL_USE_VNDK may use LOCAL_COPY_HEADERS)
endif
endif

# Clean up LOCAL_COPY_HEADERS_TO, since soong_ui will be comparing cleaned
# paths to figure out which headers are obsolete and should be removed.
LOCAL_COPY_HEADERS_TO := $(call clean-path,$(LOCAL_COPY_HEADERS_TO))
ifneq ($(filter /% .. ../%,$(LOCAL_COPY_HEADERS_TO)),)
  $(call pretty-error,LOCAL_COPY_HEADERS_TO may not start with / or ../ : $(LOCAL_COPY_HEADERS_TO))
endif
ifeq ($(LOCAL_COPY_HEADERS_TO),.)
  LOCAL_COPY_HEADERS_TO :=
endif

# Create a rule to copy each header, and make the
# all_copied_headers phony target depend on each
# destination header.  copy-one-header defines the