Remove support for building sanitizers from Makefile/autoconf build.
authorAlexey Samsonov <vonosmas@gmail.com>
Tue, 17 Feb 2015 21:53:22 +0000 (21:53 +0000)
committerAlexey Samsonov <vonosmas@gmail.com>
Tue, 17 Feb 2015 21:53:22 +0000 (21:53 +0000)
They autotools build has a number of missing features, supports less
OS, architectures, build configurations, doesn't have any tests and
is hard to support in sync with CMake build.

llvm-svn: 229554

clang/docs/AddressSanitizer.rst
clang/docs/MemorySanitizer.rst
clang/docs/ThreadSanitizer.rst
clang/runtime/compiler-rt/Makefile

index cbdd7c6..6175433 100644 (file)
@@ -23,8 +23,7 @@ Typical slowdown introduced by AddressSanitizer is **2x**.
 How to build
 ============
 
-Follow the `clang build instructions <../get_started.html>`_. CMake build is
-supported.
+Build LLVM/Clang with `CMake <http://llvm.org/docs/CMake.html>`_.
 
 Usage
 =====
index 262ca76..8841fc3 100644 (file)
@@ -16,8 +16,7 @@ Typical slowdown introduced by MemorySanitizer is **3x**.
 How to build
 ============
 
-Follow the `clang build instructions <../get_started.html>`_. CMake
-build is supported.
+Build LLVM/Clang with `CMake <http://llvm.org/docs/CMake.html>`_.
 
 Usage
 =====
index a1d81e9..d1aeaa8 100644 (file)
@@ -12,8 +12,7 @@ ThreadSanitizer is about **5x-10x**.
 How to build
 ------------
 
-Follow the `Clang build instructions <../get_started.html>`_.  CMake build is
-supported.
+Build LLVM/Clang with `CMake <http://llvm.org/docs/CMake.html>`_.
 
 Supported Platforms
 -------------------
index f06ef99..6daa6d1 100644 (file)
@@ -23,9 +23,7 @@ ResourceDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib/clang/$(CLANG_VERSION)
 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
@@ -77,9 +75,7 @@ ifeq ($(OS),Darwin)
 RuntimeDirs += darwin macho_embedded
 RuntimeLibrary.darwin.Configs := \
        eprintf.a 10.4.a osx.a cc_kext.a \
-       asan_osx_dynamic.dylib \
-       profile_osx.a \
-       ubsan_osx.a
+       profile_osx.a
 
 IOS_SDK := $(shell xcrun --show-sdk-path -sdk iphoneos 2> /dev/null)
 IOSSIM_SDK := $(shell xcrun --show-sdk-path -sdk iphonesimulator 2> /dev/null)
@@ -92,10 +88,6 @@ ifneq ($(IOS_SDK),)
 RuntimeLibrary.darwin.Configs += cc_kext_ios5.a
 endif
 
-ifneq ($(IOSSIM_SDK),)
-RuntimeLibrary.darwin.Configs += asan_iossim_dynamic.dylib
-endif
-
 RuntimeLibrary.macho_embedded.Configs := \
        hard_static.a hard_pic.a
 ifneq (,$(findstring ARM,$(TARGETS_TO_BUILD)))
@@ -122,8 +114,7 @@ TryCompile = \
 
 # We try to build 32-bit runtimes both on 32-bit hosts and 64-bit hosts.
 Runtime32BitConfigs = \
-       builtins-i386.a profile-i386.a san-i386.a asan-i386.a asan_cxx-i386.a \
-       ubsan-i386.a ubsan_cxx-i386.a
+       builtins-i386.a profile-i386.a
 
 # We currently only try to generate runtime libraries on x86.
 ifeq ($(ARCH),x86)
@@ -132,21 +123,15 @@ endif
 
 ifeq ($(ARCH),x86_64)
 RuntimeLibrary.linux.Configs += \
-       builtins-x86_64.a profile-x86_64.a san-x86_64.a asan-x86_64.a \
-       asan_cxx-x86_64.a tsan-x86_64.a msan-x86_64.a ubsan-x86_64.a \
-       ubsan_cxx-x86_64.a dfsan-x86_64.a lsan-x86_64.a
-# We need to build 32-bit ASan/UBsan libraries on 64-bit platform, and add them
-# to the list of runtime libraries to make
-# "clang -fsanitize=(address|undefined) -m32" work.
+       builtins-x86_64.a profile-x86_64.a
+# We need to build 32-bit libraries on 64-bit platform, and add them
+# to the list of runtime libraries to make "clang -m32" work.
 # We check that Clang can produce working 32-bit binaries by compiling a simple
 # executable.
 test_source = $(LLVM_SRC_ROOT)/tools/clang/runtime/compiler-rt/clang_linux_test_input.c
 ifeq ($(call TryCompile,$(ToolDir)/clang,$(test_source),-m32),0)
 RuntimeLibrary.linux.Configs += $(Runtime32BitConfigs)
 endif
-ifneq ($(LLVM_ANDROID_TOOLCHAIN_DIR),)
-RuntimeLibrary.linux.Configs += asan-arm-android.so
-endif
 endif
 
 endif
@@ -166,7 +151,6 @@ BuildRuntimeLibraries:
          ProjObjRoot=$(PROJ_OBJ_DIR) \
          CC="$(ToolDir)/clang" \
          VERBOSE=$(VERBOSE) \
-         LLVM_ANDROID_TOOLCHAIN_DIR="$(LLVM_ANDROID_TOOLCHAIN_DIR)" \
          $(RuntimeDirs:%=clang_%)
 .PHONY: BuildRuntimeLibraries
 CleanRuntimeLibraries:
@@ -176,18 +160,10 @@ CleanRuntimeLibraries:
          VERBOSE=$(VERBOSE) \
          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
@@ -242,21 +218,9 @@ RuntimeLibraryInstall.$1: \
 endef
 $(foreach lib,$(RuntimeDirs), $(eval $(call RuntimeLibraryTemplate,$(lib))))
 
-$(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
-
-RuntimeHeaderInstall: $(PROJ_resources_include)/sanitizer
-.PHONY: RuntimeHeaderInstall
-
 # Hook into the standard Makefile rules.
-all-local:: $(RuntimeDirs:%=RuntimeLibrary.%) RuntimeHeader
-install-local:: $(RuntimeDirs:%=RuntimeLibraryInstall.%) RuntimeHeaderInstall
+all-local:: $(RuntimeDirs:%=RuntimeLibrary.%)
+install-local:: $(RuntimeDirs:%=RuntimeLibraryInstall.%)
 clean-local:: CleanRuntimeLibraries
 
 endif