1# Sanitize Support
2#
3# Variables that can be used:
4#
5# WITH_SANITIZE		Enable for all ports.
6# 			Sanitizer exits for each bug detected, so it is not
7# 			advisable to enable it globally.
8# WITH_SANITIZE_PORTS	Enable for specified category/port-name
9# SANITIZE_FLAGS	Comma-separated list of sanitizers to be enabled
10# 			Default: address
11#
12
13.if !defined(_SANITIZE_MK_INCLUDED)
14_SANITIZE_MK_INCLUDED=	yes
15SANITIZE_Include_MAINTAINER=	ports@MidnightBSD.org
16
17.  if !defined(SANITIZE_UNSAFE)
18     SANITIZE_FLAGS?=	address
19.    if defined(_INCLUDE_USES_MESON_MK)
20       MESON_ARGS+= -Db_sanitize=${SANITIZE_FLAGS}
21.    else
22       CFLAGS+=		-fsanitize=${SANITIZE_FLAGS}
23       CXXFLAGS+=	-fsanitize=${SANITIZE_FLAGS}
24       LDFLAGS+=	-fsanitize=${SANITIZE_FLAGS}
25.    endif
26.  endif
27.endif
28