[PATCH] configure+make: install include/sanitizer into Clang
Alexander Potapenko
glider at google.com
Fri Oct 25 03:10:12 PDT 2013
Remove the test-only "aaa"
Hi samsonov, ddunbar,
http://llvm-reviews.chandlerc.com/D1959
CHANGE SINCE LAST DIFF
http://llvm-reviews.chandlerc.com/D1959?vs=5150&id=5152#toc
Files:
../tools/clang/runtime/compiler-rt/Makefile
Index: ../tools/clang/runtime/compiler-rt/Makefile
===================================================================
--- ../tools/clang/runtime/compiler-rt/Makefile
+++ ../tools/clang/runtime/compiler-rt/Makefile
@@ -23,7 +23,9 @@
PROJ_resources := $(DESTDIR)$(PROJ_prefix)/lib/clang/$(CLANG_VERSION)
ResourceLibDir := $(ResourceDir)/lib
+ResourceIncludeDir := $(ResourceDir)/include
PROJ_resources_lib := $(PROJ_resources)/lib
+PROJ_resources_include := $(PROJ_resources)/include
# Expect compiler-rt to be in llvm/projects/compiler-rt
COMPILERRT_SRC_ROOT := $(LLVM_SRC_ROOT)/projects/compiler-rt
@@ -150,10 +152,18 @@
ProjObjRoot=$(PROJ_OBJ_DIR) \
clean
.PHONY: CleanRuntimeLibraries
+RuntimeHeader: $(ResourceIncludeDir)/sanitizer
$(PROJ_resources_lib):
$(Verb) $(MKDIR) $@
+$(ResourceIncludeDir):
+ $(Verb) $(MKDIR) $@
+
+$(ResourceIncludeDir)/sanitizer: $(ResourceIncludeDir)
+ $(Verb) $(MKDIR) $@
+ $(Verb) cp $(COMPILERRT_SRC_ROOT)/include/sanitizer/*.h $@
+
# Expand rules for copying/installing each individual library. We can't use
# implicit rules here because we need to match against multiple things.
define RuntimeLibraryTemplate
@@ -203,16 +213,28 @@
$(Echo) Installing compiler runtime library: $1/$$*
$(Verb) $(DataInstall) $$< $(PROJ_resources_lib)/$1
+$(PROJ_resources_include):
+ $(Verb) $(MKDIR) $@
+
+$(PROJ_resources_include)/sanitizer: $(ResourceIncludeDir)/sanitizer $(PROJ_resources_include)
+ $(Verb) $(MKDIR) $$@
+ $(Echo) Installing compiler runtime headers
+ $(Verb) $(DataInstall) $(ResourceIncludeDir)/sanitizer/* \
+ $(PROJ_resources_include)/sanitizer
+
# Rule to install runtime libraries.
RuntimeLibraryInstall.$1: \
$(RuntimeLibrary.$1.Configs:%=$(PROJ_resources_lib)/$1/libclang_rt.%)
.PHONY: RuntimeLibraryInstall.$1
endef
$(foreach lib,$(RuntimeDirs), $(eval $(call RuntimeLibraryTemplate,$(lib))))
+RuntimeHeaderInstall: $(PROJ_resources_include)/sanitizer
+.PHONY: RuntimeHeaderInstall
+
# Hook into the standard Makefile rules.
-all-local:: $(RuntimeDirs:%=RuntimeLibrary.%)
-install-local:: $(RuntimeDirs:%=RuntimeLibraryInstall.%)
+all-local:: $(RuntimeDirs:%=RuntimeLibrary.%) RuntimeHeader
+install-local:: $(RuntimeDirs:%=RuntimeLibraryInstall.%) RuntimeHeaderInstall
clean-local:: CleanRuntimeLibraries
endif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1959.5.patch
Type: text/x-patch
Size: 2339 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131025/dc468e22/attachment.bin>
More information about the cfe-commits
mailing list