From 027248567b91440b0625cb184bb69d6171deaac5 Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Tue, 8 Mar 2011 12:25:10 +0000 Subject: [PATCH] Reapply r127073(partially): Introduce $(ECHOPATH) to print DOSish path string on MSYS bash for alternative of $(ECHO). On mingw and python/w32, lit would not be expected to understand MSYS-style path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127239 91177308-0d34-0410-b5e6-96231b3b80d8 --- Makefile.rules | 18 ++++++++++++++++++ test/Makefile | 34 ++++++++++++++++++---------------- 2 files changed, 36 insertions(+), 16 deletions(-) diff --git a/Makefile.rules b/Makefile.rules index 57198844f56..a04eba1f45a 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -719,6 +719,24 @@ BaseNameSources := $(sort $(basename $(Sources))) ObjectsO := $(BaseNameSources:%=$(ObjDir)/%.o) ObjectsBC := $(BaseNameSources:%=$(ObjDir)/%.bc) +#---------------------------------------------------------- +# For Mingw MSYS bash and Python/w32: +# +# $(ECHOPATH) prints DOSish pathstring. +# ex) $(ECHOPATH) /include/sys/types.h +# --> C:/mingw/include/sys/types.h +# built-in "echo" does not transform path to DOSish path. +# +# FIXME: It would not be needed when MSYS's python +# were provided. +#---------------------------------------------------------- + +ifeq (-mingw32,$(findstring -mingw32,$(BUILD_TRIPLE))) + ECHOPATH := $(Verb)python -u -c "import sys;print ' '.join(sys.argv[1:])" +else + ECHOPATH := $(Verb)$(ECHO) +endif + ############################################################################### # DIRECTORIES: Handle recursive descent of directory structure ############################################################################### diff --git a/test/Makefile b/test/Makefile index b37bbfcc6f2..0d84186b1e8 100644 --- a/test/Makefile +++ b/test/Makefile @@ -173,22 +173,24 @@ site.exp: FORCE lit.site.cfg: site.exp @echo "Making LLVM 'lit.site.cfg' file..." - @sed -e "s#@LLVM_SOURCE_DIR@#$(LLVM_SRC_ROOT)#g" \ - -e "s#@LLVM_BINARY_DIR@#$(LLVM_OBJ_ROOT)#g" \ - -e "s#@LLVM_TOOLS_DIR@#$(ToolDir)#g" \ - -e "s#@LLVMGCCDIR@#$(LLVMGCCDIR)#g" \ - -e "s#@ENABLE_SHARED@#$(ENABLE_SHARED)#g" \ - $(PROJ_SRC_DIR)/lit.site.cfg.in > $@ + @$(ECHOPATH) s=@LLVM_SOURCE_DIR@=$(LLVM_SRC_ROOT)=g > lit.tmp + @$(ECHOPATH) s=@LLVM_BINARY_DIR@=$(LLVM_OBJ_ROOT)=g >> lit.tmp + @$(ECHOPATH) s=@LLVM_TOOLS_DIR@=$(ToolDir)=g >> lit.tmp + @$(ECHOPATH) s=@LLVMGCCDIR@=$(LLVMGCCDIR)=g >> lit.tmp + @$(ECHOPATH) s=@PYTHON_EXECUTABLE@=python=g >> lit.tmp + @$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g >> lit.tmp + @sed -f lit.tmp $(PROJ_SRC_DIR)/lit.site.cfg.in > $@ + @-rm -f lit.tmp Unit/lit.site.cfg: $(PROJ_OBJ_DIR)/Unit/.dir FORCE @echo "Making LLVM unittest 'lit.site.cfg' file..." - @sed -e "s#@LLVM_SOURCE_DIR@#$(LLVM_SRC_ROOT)#g" \ - -e "s#@LLVM_BINARY_DIR@#$(LLVM_OBJ_ROOT)#g" \ - -e "s#@LLVM_TOOLS_DIR@#$(ToolDir)#g" \ - -e "s#@LLVMGCCDIR@#$(LLVMGCCDIR)#g" \ - -e "s#@LLVM_BUILD_MODE@#$(BuildMode)#g" \ - -e "s#@ENABLE_SHARED@#$(ENABLE_SHARED)#g" \ - -e "s#@SHLIBDIR@#$(SharedLibDir)#g" \ - -e "s#@SHLIBPATH_VAR@#$(SHLIBPATH_VAR)#g" \ - $(PROJ_SRC_DIR)/Unit/lit.site.cfg.in > $@ - + @$(ECHOPATH) s=@LLVM_SOURCE_DIR@=$(LLVM_SRC_ROOT)=g > unit.tmp + @$(ECHOPATH) s=@LLVM_BINARY_DIR@=$(LLVM_OBJ_ROOT)=g >> unit.tmp + @$(ECHOPATH) s=@LLVM_TOOLS_DIR@=$(ToolDir)=g >> unit.tmp + @$(ECHOPATH) s=@LLVMGCCDIR@=$(LLVMGCCDIR)=g >> unit.tmp + @$(ECHOPATH) s=@LLVM_BUILD_MODE@=$(BuildMode)=g >> unit.tmp + @$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g >> unit.tmp + @$(ECHOPATH) s=@SHLIBDIR@=$(SharedLibDir)=g >> unit.tmp + @$(ECHOPATH) s=@SHLIBPATH_VAR@=$(SHLIBPATH_VAR)=g >> unit.tmp + @sed -f unit.tmp $(PROJ_SRC_DIR)/Unit/lit.site.cfg.in > $@ + @-rm -f unit.tmp