Merge "Normalize the product makefile path in inherit-product."

This commit is contained in:
Ying Wang 2015-10-28 23:51:57 +00:00 committed by Gerrit Code Review
commit aabff90bfe
3 changed files with 21 additions and 5 deletions

View file

@ -113,6 +113,16 @@ BUILD_HOST_DALVIK_STATIC_JAVA_LIBRARY := $(BUILD_SYSTEM)/host_dalvik_static_java
SHOW_COMMANDS:= $(filter showcommands,$(MAKECMDGOALS))
hide := $(if $(SHOW_COMMANDS),,@)
################################################################
# Tools needed in product configuration makefiles.
################################################################
NORMALIZE_PATH := build/tools/normalize_path.py
# $(1): the paths to be normalized
define normalize-paths
$(if $(1),$(shell $(NORMALIZE_PATH) $(1)))
endef
# ###############################################################
# Set common values
# ###############################################################
@ -550,8 +560,6 @@ else
MD5SUM:=md5sum
endif
NORMALIZE_PATH := build/tools/normalize_path.py
APICHECK_CLASSPATH := $(HOST_JDK_TOOLS_JAR)
APICHECK_CLASSPATH := $(APICHECK_CLASSPATH):$(HOST_OUT_JAVA_LIBRARIES)/doclava$(COMMON_JAVA_PACKAGE_SUFFIX)
APICHECK_CLASSPATH := $(APICHECK_CLASSPATH):$(HOST_OUT_JAVA_LIBRARIES)/jsilver$(COMMON_JAVA_PACKAGE_SUFFIX)

View file

@ -133,11 +133,14 @@ endef
# 3. Records that we've visited this node, in ALL_PRODUCTS
#
define inherit-product
$(if $(findstring ../,$(1)),\
$(eval np := $(call normalize-paths,$(1))),\
$(eval np := $(strip $(1))))\
$(foreach v,$(_product_var_list), \
$(eval $(v) := $($(v)) $(INHERIT_TAG)$(strip $(1)))) \
$(eval $(v) := $($(v)) $(INHERIT_TAG)$(np))) \
$(eval inherit_var := \
PRODUCTS.$(strip $(word 1,$(_include_stack))).INHERITS_FROM) \
$(eval $(inherit_var) := $(sort $($(inherit_var)) $(strip $(1)))) \
$(eval $(inherit_var) := $(sort $($(inherit_var)) $(np))) \
$(eval inherit_var:=) \
$(eval ALL_PRODUCTS := $(sort $(ALL_PRODUCTS) $(word 1,$(_include_stack))))
endef

View file

@ -14,11 +14,16 @@
# See the License for the specific language governing permissions and
# limitations under the License.
"""
Normalize and output paths read from stdin.
Normalize and output paths from arguments, or stdin if no arguments provided.
"""
import os.path
import sys
if len(sys.argv) > 1:
for p in sys.argv[1:]:
print os.path.normpath(p)
sys.exit(0)
for line in sys.stdin:
print os.path.normpath(line.strip())