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
This commit is contained in:
parent
7c18a37147
commit
13cb165b91
|
@ -4,15 +4,13 @@ ifneq (,$(strip $(LOCAL_COPY_HEADERS)))
|
||||||
###########################################################
|
###########################################################
|
||||||
$(call record-module-type,COPY_HEADERS)
|
$(call record-module-type,COPY_HEADERS)
|
||||||
ifneq ($(strip $(LOCAL_IS_HOST_MODULE)),)
|
ifneq ($(strip $(LOCAL_IS_HOST_MODULE)),)
|
||||||
$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): LOCAL_COPY_HEADERS may not be used with host modules >&2)
|
$(call pretty-error,LOCAL_COPY_HEADERS may not be used with host modules)
|
||||||
$(error done)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Modules linking against the SDK do not have the include path to use
|
# Modules linking against the SDK do not have the include path to use
|
||||||
# COPY_HEADERS, so prevent them from exporting any either.
|
# COPY_HEADERS, so prevent them from exporting any either.
|
||||||
ifdef LOCAL_SDK_VERSION
|
ifdef LOCAL_SDK_VERSION
|
||||||
$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): Modules using LOCAL_SDK_VERSION may not use LOCAL_COPY_HEADERS >&2)
|
$(call pretty-error,Modules using LOCAL_SDK_VERSION may not use LOCAL_COPY_HEADERS)
|
||||||
$(error done)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
include $(BUILD_SYSTEM)/local_vndk.mk
|
include $(BUILD_SYSTEM)/local_vndk.mk
|
||||||
|
@ -22,11 +20,20 @@ include $(BUILD_SYSTEM)/local_vndk.mk
|
||||||
# present.
|
# present.
|
||||||
ifdef BOARD_VNDK_VERSION
|
ifdef BOARD_VNDK_VERSION
|
||||||
ifndef LOCAL_USE_VNDK
|
ifndef LOCAL_USE_VNDK
|
||||||
$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): Only vendor modules using LOCAL_USE_VNDK may use LOCAL_COPY_HEADERS >&2)
|
$(call pretty-error,Only vendor modules using LOCAL_USE_VNDK may use LOCAL_COPY_HEADERS)
|
||||||
$(error done)
|
|
||||||
endif
|
endif
|
||||||
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
|
# Create a rule to copy each header, and make the
|
||||||
# all_copied_headers phony target depend on each
|
# all_copied_headers phony target depend on each
|
||||||
# destination header. copy-one-header defines the
|
# destination header. copy-one-header defines the
|
||||||
|
|
Loading…
Reference in New Issue