diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2018-07-28 11:17:07 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2018-07-28 11:17:07 +0100 |
commit | 3d20a3974c62a284325f8e6f12b7fbb50b4607b7 (patch) | |
tree | c8a2b63c15dd0effdf30eed5792ac15dce55037d /Makefile | |
parent | 42459f72c1f0e3dcdc1686447f1522c4fe9e3134 (diff) | |
download | netsurf-3d20a3974c62a284325f8e6f12b7fbb50b4607b7.tar.gz netsurf-3d20a3974c62a284325f8e6f12b7fbb50b4607b7.tar.bz2 |
Support ASAN and UBSAN in Makefiles
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -575,6 +575,25 @@ CXXFLAGS += -DNETSURF_HOMEPAGE=\"$(NETSURF_HOMEPAGE)\" CFLAGS += -DNETSURF_LOG_LEVEL=$(NETSURF_LOG_LEVEL) CXXFLAGS += -DNETSURF_LOG_LEVEL=$(NETSURF_LOG_LEVEL) +# If we're building the sanitizer goal, override things +ifneq ($(filter-out sanitize,$(MAKECMDGOALS)),$(MAKECMDGOALS)) +override NETSURF_USE_SANITIZER := YES +override NETSURF_RECOVER_SANITIZERS := NO +endif + +# If we're going to use the sanitizer set it up +ifeq ($(NETSURF_USE_SANITIZER),YES) +SAN_FLAGS := -fsanitize=address -fsanitize=undefined +ifeq ($(NETSURF_RECOVER_SANITIZERS),NO) +SAN_FLAGS += -fno-sanitize-recover +endif +else +SAN_FLAGS := +endif +CFLAGS += $(SAN_FLAGS) +CXXFLAGS += $(SAN_FLAGS) +LDFLAGS += $(SAN_FLAGS) + # and the logging filter CFLAGS += -DNETSURF_BUILTIN_LOG_FILTER=\"$(NETSURF_BUILTIN_LOG_FILTER)\" CXXFLAGS += -DNETSURF_BUILTIN_LOG_FILTER=\"$(NETSURF_BUILTIN_LOG_FILTER)\" |