]> git.ipfire.org Git - pakfire.git/commitdiff
configure: Add option to enable the address sanitizer
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 22 Feb 2025 15:14:01 +0000 (15:14 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 22 Feb 2025 15:14:01 +0000 (15:14 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am
configure.ac

index 177676da29018ec1241b525e0a94f80b47d20c0e..2de4c1bd20d38ab82906f2dc6bf9d8626028e68c 100644 (file)
@@ -134,6 +134,7 @@ pakfire_la_CPPFLAGS = \
 
 pakfire_la_CFLAGS = \
        $(AM_CFLAGS) \
+       $(ASAN_CFLAGS) \
        $(COVERAGE_CFLAGS) \
        $(PYTHON_DEVEL_CFLAGS) \
        -Wno-cast-function-type \
@@ -142,6 +143,7 @@ pakfire_la_CFLAGS = \
 
 pakfire_la_LDFLAGS = \
        $(AM_LDFLAGS) \
+       $(ASAN_LDFLAGS) \
        $(COVERAGE_LDFLAGS) \
        -shared \
        -module \
@@ -308,6 +310,7 @@ libpakfire_la_SOURCES = \
 
 libpakfire_la_CFLAGS = \
        $(AM_CFLAGS) \
+       $(ASAN_CFLAGS) \
        $(COVERAGE_CFLAGS) \
        $(BPF_CFLAGS) \
        $(CAP_CFLAGS) \
@@ -336,6 +339,7 @@ libpakfire_la_CPPFLAGS = \
 
 libpakfire_la_LDFLAGS = \
        $(AM_LDFLAGS) \
+       $(ASAN_LDFLAGS) \
        $(COVERAGE_LDFLAGS)
 
 libpakfire_la_LIBADD = \
@@ -380,10 +384,12 @@ pakfire_CPPFLAGS = \
 
 pakfire_CFLAGS = \
        $(AM_CFLAGS) \
+       $(ASAN_CFLAGS) \
        $(COVERAGE_CFLAGS)
 
 pakfire_LDFLAGS = \
        $(AM_LDFLAGS) \
+       $(ASAN_LDFLAGS) \
        $(COVERAGE_LDFLAGS)
 
 pakfire_LDADD = \
@@ -404,10 +410,12 @@ pakfire_builder_CPPFLAGS = \
 
 pakfire_builder_CFLAGS = \
        $(AM_CFLAGS) \
+       $(ASAN_CFLAGS) \
        $(COVERAGE_CFLAGS)
 
 pakfire_builder_LDFLAGS = \
        $(AM_LDFLAGS) \
+       $(ASAN_LDFLAGS) \
        $(COVERAGE_LDFLAGS)
 
 pakfire_builder_LDADD = \
@@ -428,10 +436,12 @@ pakfire_client_CPPFLAGS = \
 
 pakfire_client_CFLAGS = \
        $(AM_CFLAGS) \
+       $(ASAN_CFLAGS) \
        $(COVERAGE_CFLAGS)
 
 pakfire_client_LDFLAGS = \
        $(AM_LDFLAGS) \
+       $(ASAN_LDFLAGS) \
        $(COVERAGE_LDFLAGS)
 
 pakfire_client_LDADD = \
@@ -452,10 +462,12 @@ pakfire_daemon_CPPFLAGS = \
 
 pakfire_daemon_CFLAGS = \
        $(AM_CFLAGS) \
+       $(ASAN_CFLAGS) \
        $(COVERAGE_CFLAGS)
 
 pakfire_daemon_LDFLAGS = \
        $(AM_LDFLAGS) \
+       $(ASAN_LDFLAGS) \
        $(COVERAGE_LDFLAGS)
 
 pakfire_daemon_LDADD = \
@@ -557,10 +569,12 @@ libcli_la_CPPFLAGS = \
 
 libcli_la_CFLAGS = \
        $(AM_CFLAGS) \
+       $(ASAN_CFLAGS) \
        $(COVERAGE_CFLAGS)
 
 libcli_la_LDFLAGS = \
        $(AM_LDFLAGS) \
+       $(ASAN_LDFLAGS) \
        $(COVERAGE_LDFLAGS) \
        $(JSON_C_LIBS)
 
@@ -1216,11 +1230,13 @@ TESTSUITE_CPPFLAGS = \
 
 TESTSUITE_CFLAGS = \
        $(AM_CFLAGS) \
+       $(ASAN_CFLAGS) \
        $(COVERAGE_CFLAGS) \
        -Wno-address
 
 TESTSUITE_LDFLAGS = \
        $(AM_LDFLAGS) \
+       $(ASAN_LDFLAGS) \
        $(COVERAGE_LDFLAGS)
 
 TESTSUITE_LDADD = \
index 25d996297ffb86adc9580be83f3e0df001a17e95..92bd89921df232f2d5fe4c7a185dbd04b570b1d8 100644 (file)
@@ -58,6 +58,13 @@ AC_PROG_LN_S
 AC_PROG_MKDIR_P
 AC_PROG_SED
 
+dnl Switch to enable build with address sanitization
+AC_ARG_ENABLE([asan],
+       AS_HELP_STRING([--enable-asan], [build with -fsanitize=address @<:@default=disabled@:>@]),
+       [],
+       [enable_asan=no]
+)
+
 dnl Switch to enable build with --coverage
 AC_ARG_ENABLE([coverage],
        AS_HELP_STRING([--enable-coverage], [build with --coverage @<:@default=disabled@:>@]),
@@ -168,6 +175,15 @@ AC_SUBST([OUR_CPPFLAGS], $with_cppflags)
 AC_SUBST([OUR_CFLAGS], $with_cflags)
 AC_SUBST([OUR_LDFLAGS], $with_ldflags)
 
+dnl Check for support for -fsanitize=address
+if test "x${enable_asan}" = "xyes"; then
+       CC_CHECK_FLAGS_APPEND([asan_cflags],  [CFLAGS],  [-fsanitize=address])
+       CC_CHECK_FLAGS_APPEND([asan_ldflags], [LDFLAGS], [-lasan])
+fi
+
+AC_SUBST([ASAN_CFLAGS], ${asan_cflags})
+AC_SUBST([ASAN_LDFLAGS], ${asan_ldflags})
+
 dnl Check for support for --coverage
 if test "x${enable_coverage}" = "xyes"; then
        CC_CHECK_FLAGS_APPEND([coverage_cflags],  [CFLAGS],  [--coverage])