Skip to content
Snippets Groups Projects
Commit 8cfebb91 authored by ctiller's avatar ctiller Committed by Nicolas Noble
Browse files

Add msan, tsan, asan targets for Makefile.

Expand test runner to be compatible.
	Change on 2015/01/06 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83378004
parent cab52e76
No related branches found
No related tags found
No related merge requests found
...@@ -2,16 +2,67 @@ ...@@ -2,16 +2,67 @@
# This currently builds C and C++ code. # This currently builds C and C++ code.
   
   
# Configurations
VALID_CONFIG_opt = 1
CC_opt = gcc
CXX_opt = g++
LD_opt = gcc
LDXX_opt = g++
CPPFLAGS_opt = -O2
LDFLAGS_opt =
DEFINES_opt = NDEBUG
VALID_CONFIG_dbg = 1
CC_dbg = gcc
CXX_dbg = g++
LD_dbg = gcc
LDXX_dbg = g++
CPPFLAGS_dbg = -O0
LDFLAGS_dbg =
DEFINES_dbg = _DEBUG DEBUG
VALID_CONFIG_tsan = 1
CC_tsan = clang
CXX_tsan = clang++
LD_tsan = clang
LDXX_tsan = clang++
CPPFLAGS_tsan = -O1 -fsanitize=thread -fno-omit-frame-pointer
LDFLAGS_tsan = -fsanitize=thread
DEFINES_tsan = NDEBUG
VALID_CONFIG_asan = 1
CC_asan = clang
CXX_asan = clang++
LD_asan = clang
LDXX_asan = clang++
CPPFLAGS_asan = -O1 -fsanitize=address -fno-omit-frame-pointer
LDFLAGS_asan = -fsanitize=address
DEFINES_asan = NDEBUG
VALID_CONFIG_msan = 1
CC_msan = clang
CXX_msan = clang++
LD_msan = clang
LDXX_msan = clang++
CPPFLAGS_msan = -O1 -fsanitize=memory -fno-omit-frame-pointer
LDFLAGS_msan = -fsanitize=memory
DEFINES_msan = NDEBUG
ifndef VALID_CONFIG_$(CONFIG)
$(error Invalid CONFIG value '$(CONFIG)')
endif
# General settings. # General settings.
# You may want to change these depending on your system. # You may want to change these depending on your system.
   
prefix ?= /usr/local prefix ?= /usr/local
   
PROTOC = protoc PROTOC = protoc
CC = gcc CC = $(CC_$(CONFIG))
CXX = g++ CXX = $(CXX_$(CONFIG))
LD = gcc LD = $(LD_$(CONFIG))
LDXX = g++ LDXX = $(LDXX_$(CONFIG))
AR = ar AR = ar
STRIP = strip --strip-unneeded STRIP = strip --strip-unneeded
INSTALL = install -D INSTALL = install -D
...@@ -24,20 +75,9 @@ HOST_LDXX = $(LDXX) ...@@ -24,20 +75,9 @@ HOST_LDXX = $(LDXX)
   
CONFIG ?= opt CONFIG ?= opt
   
VALID_CONFIG_opt = 1
CPPFLAGS_opt = -O2
DEFINES_opt = NDEBUG
VALID_CONFIG_dbg = 1
CPPFLAGS_dbg = -O0
DEFINES_dbg = _DEBUG DEBUG
ifndef VALID_CONFIG_$(CONFIG)
$(error Invalid CONFIG value '$(CONFIG)')
endif
CPPFLAGS += $(CPPFLAGS_$(CONFIG)) CPPFLAGS += $(CPPFLAGS_$(CONFIG))
DEFINES += $(DEFINES_$(CONFIG)) DEFINES += $(DEFINES_$(CONFIG))
LDFLAGS += $(LDFLAGS_$(CONFIG))
   
CFLAGS += -std=c89 -pedantic CFLAGS += -std=c89 -pedantic
CXXFLAGS += -std=c++11 CXXFLAGS += -std=c++11
......
...@@ -18,16 +18,67 @@ ...@@ -18,16 +18,67 @@
return 'gens/' + m.group(1) + '.pb.cc' return 'gens/' + m.group(1) + '.pb.cc'
%> %>
# Configurations
VALID_CONFIG_opt = 1
CC_opt = gcc
CXX_opt = g++
LD_opt = gcc
LDXX_opt = g++
CPPFLAGS_opt = -O2
LDFLAGS_opt =
DEFINES_opt = NDEBUG
VALID_CONFIG_dbg = 1
CC_dbg = gcc
CXX_dbg = g++
LD_dbg = gcc
LDXX_dbg = g++
CPPFLAGS_dbg = -O0
LDFLAGS_dbg =
DEFINES_dbg = _DEBUG DEBUG
VALID_CONFIG_tsan = 1
CC_tsan = clang
CXX_tsan = clang++
LD_tsan = clang
LDXX_tsan = clang++
CPPFLAGS_tsan = -O1 -fsanitize=thread -fno-omit-frame-pointer
LDFLAGS_tsan = -fsanitize=thread
DEFINES_tsan = NDEBUG
VALID_CONFIG_asan = 1
CC_asan = clang
CXX_asan = clang++
LD_asan = clang
LDXX_asan = clang++
CPPFLAGS_asan = -O1 -fsanitize=address -fno-omit-frame-pointer
LDFLAGS_asan = -fsanitize=address
DEFINES_asan = NDEBUG
VALID_CONFIG_msan = 1
CC_msan = clang
CXX_msan = clang++
LD_msan = clang
LDXX_msan = clang++
CPPFLAGS_msan = -O1 -fsanitize=memory -fno-omit-frame-pointer
LDFLAGS_msan = -fsanitize=memory
DEFINES_msan = NDEBUG
ifndef VALID_CONFIG_$(CONFIG)
$(error Invalid CONFIG value '$(CONFIG)')
endif
# General settings. # General settings.
# You may want to change these depending on your system. # You may want to change these depending on your system.
prefix ?= /usr/local prefix ?= /usr/local
PROTOC = protoc PROTOC = protoc
CC = gcc CC = $(CC_$(CONFIG))
CXX = g++ CXX = $(CXX_$(CONFIG))
LD = gcc LD = $(LD_$(CONFIG))
LDXX = g++ LDXX = $(LDXX_$(CONFIG))
AR = ar AR = ar
STRIP = strip --strip-unneeded STRIP = strip --strip-unneeded
INSTALL = install -D INSTALL = install -D
...@@ -40,20 +91,9 @@ HOST_LDXX = $(LDXX) ...@@ -40,20 +91,9 @@ HOST_LDXX = $(LDXX)
CONFIG ?= opt CONFIG ?= opt
VALID_CONFIG_opt = 1
CPPFLAGS_opt = -O2
DEFINES_opt = NDEBUG
VALID_CONFIG_dbg = 1
CPPFLAGS_dbg = -O0
DEFINES_dbg = _DEBUG DEBUG
ifndef VALID_CONFIG_$(CONFIG)
$(error Invalid CONFIG value '$(CONFIG)')
endif
CPPFLAGS += $(CPPFLAGS_$(CONFIG)) CPPFLAGS += $(CPPFLAGS_$(CONFIG))
DEFINES += $(DEFINES_$(CONFIG)) DEFINES += $(DEFINES_$(CONFIG))
LDFLAGS += $(LDFLAGS_$(CONFIG))
CFLAGS += -std=c89 -pedantic CFLAGS += -std=c89 -pedantic
CXXFLAGS += -std=c++11 CXXFLAGS += -std=c++11
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment