Add option to build with asan

This commit is contained in:
Kim Woelders 2021-08-26 09:59:28 +02:00
parent b0192f9165
commit b0cbcb1f8a
4 changed files with 25 additions and 2 deletions

View File

@ -7,7 +7,8 @@ if BUILD_GLX
EPPLET_LIB_GLX = libepplet_glx.la
endif
AM_CPPFLAGS = -I$(top_builddir) $(CWARNFLAGS) $(CFLAGS_VISIBILITY)
AM_CPPFLAGS = -I$(top_builddir)
AM_CFLAGS = $(CWARNFLAGS) $(CFLAGS_VISIBILITY) $(CFLAGS_ASAN)
lib_LTLIBRARIES = libepplet.la $(EPPLET_LIB_GLX)

View File

@ -38,6 +38,7 @@ AC_C_INLINE
EC_C___ATTRIBUTE__
EC_C___FUNC__
EC_C_VISIBILITY(yes)
EC_C_ASAN()
AC_PATH_XTRA

View File

@ -15,7 +15,8 @@ EXTRA_PROGRAMS = EppletTest.epplet EppletConfigTest.epplet E-Mixer.epplet \
Emix.epplet E-PlayCD.epplet E-OpenGL-Demo.epplet \
E-SD.epplet
AM_CPPFLAGS = -I$(top_builddir) -I$(top_builddir)/api $(IMLIB2_CFLAGS) $(X_CFLAGS) $(LIBGTOP_CFLAGS) $(CWARNFLAGS) $(CFLAGS_VISIBILITY)
AM_CPPFLAGS = -I$(top_builddir) -I$(top_builddir)/api $(IMLIB2_CFLAGS) $(X_CFLAGS) $(LIBGTOP_CFLAGS)
AM_CFLAGS = $(CWARNFLAGS) $(CFLAGS_VISIBILITY) $(CFLAGS_ASAN)
LDADD = $(top_builddir)/api/libepplet.la $(X_LIBS) $(KSTAT_LIBS)
################ Conditional Builds ################

20
m4/ec_asan.m4 Normal file
View File

@ -0,0 +1,20 @@
dnl Copyright (C) 2020 Kim Woelders
dnl This code is public domain and can be freely used or copied.
dnl Macro to set compiler flags in CFLAGS_ASAN
dnl Usage: EC_C_ASAN()
AC_DEFUN([EC_C_ASAN], [
AC_ARG_ENABLE(gcc-asan,
[AS_HELP_STRING([--enable-gcc-asan],
[compile with ASAN support @<:@default=no@:>@])],,
enable_gcc_asan=no)
if test "x$GCC" = "xyes"; then
if test "x$enable_gcc_asan" = "xyes"; then
CFLAGS_ASAN="-fsanitize=address -fno-omit-frame-pointer"
fi
fi
AC_SUBST(CFLAGS_ASAN)
])