kwo pushed a commit to branch master.

http://git.enlightenment.org/legacy/imlib2.git/commit/?id=49af0f9d599ddd89cde880e46f3d2115a91a1f28

commit 49af0f9d599ddd89cde880e46f3d2115a91a1f28
Author: Kim Woelders <k...@woelders.dk>
Date:   Sat May 16 09:27:37 2020 +0200

    Add feature to build with ASAN (--enable-gcc-asan)
---
 configure.ac                    |  1 +
 m4/ec_asan.m4                   | 20 ++++++++++++++++++++
 src/bin/Makefile.am             |  2 +-
 src/lib/Makefile.am             |  2 +-
 src/modules/filters/Makefile.am |  2 +-
 src/modules/loaders/Makefile.am |  2 +-
 6 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 02edf59..f5d53ba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -382,6 +382,7 @@ AM_CONDITIONAL(BUILD_ID3_LOADER, test "$id3_ok" = yes)
 
 EC_C_WARNINGS()
 EC_C_VISIBILITY(yes)
+EC_C_ASAN()
 
 AC_CONFIG_HEADERS(config.h)
 AC_CONFIG_FILES([
diff --git a/m4/ec_asan.m4 b/m4/ec_asan.m4
new file mode 100644
index 0000000..c7d9bfb
--- /dev/null
+++ b/m4/ec_asan.m4
@@ -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)
+])
diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 415f4ba..4833794 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -1,6 +1,6 @@
 MAINTAINERCLEANFILES = Makefile.in
 
-AM_CFLAGS   = $(CFLAGS_WARNINGS)
+AM_CFLAGS   = $(CFLAGS_WARNINGS) $(CFLAGS_ASAN)
 AM_CPPFLAGS = \
 -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
 -I$(top_srcdir)/src/lib \
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index d1e4429..bfff8e1 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -1,6 +1,6 @@
 AUTOMAKE_OPTIONS     = 1.4 foreign
 MAINTAINERCLEANFILES = Makefile.in
-AM_CFLAGS            = $(CFLAGS_WARNINGS) $(CFLAGS_VISIBILITY)
+AM_CFLAGS            = $(CFLAGS_WARNINGS) $(CFLAGS_VISIBILITY) $(CFLAGS_ASAN)
 AM_CPPFLAGS          = -DPACKAGE_LIB_DIR=\"$(libdir)\" \
                        -I$(top_builddir) \
                        $(X_CFLAGS) \
diff --git a/src/modules/filters/Makefile.am b/src/modules/filters/Makefile.am
index 3faceee..08b840f 100644
--- a/src/modules/filters/Makefile.am
+++ b/src/modules/filters/Makefile.am
@@ -1,6 +1,6 @@
 MAINTAINERCLEANFILES = Makefile.in
 
-AM_CFLAGS            = $(CFLAGS_WARNINGS) $(CFLAGS_VISIBILITY)
+AM_CFLAGS            = $(CFLAGS_WARNINGS) $(CFLAGS_VISIBILITY) $(CFLAGS_ASAN)
 AM_CPPFLAGS          = -I$(top_builddir) -I$(top_srcdir)/src/lib
 
 pkgdir                = $(libdir)/imlib2/filters
diff --git a/src/modules/loaders/Makefile.am b/src/modules/loaders/Makefile.am
index 921f0ad..7204711 100644
--- a/src/modules/loaders/Makefile.am
+++ b/src/modules/loaders/Makefile.am
@@ -1,6 +1,6 @@
 MAINTAINERCLEANFILES = Makefile.in
 
-AM_CFLAGS            = $(CFLAGS_WARNINGS) $(CFLAGS_VISIBILITY)
+AM_CFLAGS            = $(CFLAGS_WARNINGS) $(CFLAGS_VISIBILITY) $(CFLAGS_ASAN)
 AM_CPPFLAGS          = -I$(top_builddir) -I$(top_srcdir)/src/lib
 
 pkgdir               = $(libdir)/imlib2/loaders

-- 


Reply via email to