From: Michael Jeanson Date: Mon, 12 Feb 2024 22:18:14 +0000 (-0500) Subject: Centralize common AM_CFLAGS/LDFLAGS in configure.ac X-Git-Tag: RELEASE_1_4_5~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d8e16696af610e684ebd478e4be66902e8969e28;p=thirdparty%2Fmlmmj.git Centralize common AM_CFLAGS/LDFLAGS in configure.ac Signed-off-by: Michael Jeanson --- diff --git a/configure.ac b/configure.ac index f638c3f1..b2a6a78e 100644 --- a/configure.ac +++ b/configure.ac @@ -31,17 +31,29 @@ AC_SUBST(textlibdir) AC_ARG_ENABLE([coverage], AS_HELP_STRING([--enable-coverage], [build with coverage flags activated (default is no)])) -AM_CONDITIONAL(WANT_COVERAGE, test x"$enable_coverage" = xyes) + +AS_IF([test x"$enable_coverage" = xyes], [ + COVERAGE_CFLAGS="-O0 -ggdb -fprofile-arcs -ftest-coverage -fprofile-generate" + COVERAGE_LDFLAGS="-fprofile-generate" +]) AC_ARG_ENABLE([asan], AS_HELP_STRING([--enable-asan], [build with libasan (default is no)])) -AM_CONDITIONAL(WANT_ASAN, test x"$enable_asan" = xyes) + +AS_IF([test x"$enable_asan" = xyes], [ + ASAN_CFLAGS="-O0 -ggdb -fsanitize=address" + ASAN_LDFLAGS="-fsanitize=address" +]) AC_ARG_ENABLE([ubsan], AS_HELP_STRING([--enable-ubsan], [build with libubsan (default is no)])) -AM_CONDITIONAL(WANT_UBSAN, test x"$enable_ubsan" = xyes) + +AS_IF([test x"$enable_ubsan" = xyes], [ + UBSAN_CFLAGS="-O0 -ggdb -fsanitize=undefined" + UBSAN_LDFLAGS="-fsanitize=undefined" +]) AC_ARG_ENABLE([receive-strip], AS_HELP_STRING([--enable-receive-strip], @@ -56,6 +68,15 @@ PKG_CHECK_MODULES([ATF], [atf-c], [HAVE_ATF=1], [NO_ATF=1]) AC_CHECK_PROG([KYUA], [kyua], [HAVE_KYUA=1]) AM_CONDITIONAL([TESTS], [test "x$HAVE_ATF" = x1 -a "x$HAVE_KYUA" = x1 ]) +AM_CPPFLAGS="-I\$(top_srcdir)/include -DDEFAULTTEXTDIR='\"\$(textlibdir)\"'" +AC_SUBST(AM_CPPFLAGS) + +AM_CFLAGS="-g -Wall -std=gnu99 -D_GNU_SOURCE=1 -Wextra -pedantic -Wsign-compare $COVERAGE_CFLAGS $ASAN_CFLAGS $UBSAN_CFLAGS" +AC_SUBST(AM_CFLAGS) + +AM_LDFLAGS="$COVERAGE_LDFLAGS $ASAN_LDFLAGS $UBSAN_LDFLAGS" +AC_SUBST(AM_LDFLAGS) + AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([src/Makefile]) AC_CONFIG_FILES([src/mlmmj-make-ml]) diff --git a/contrib/receivestrip/Makefile.am b/contrib/receivestrip/Makefile.am index 279abfd4..9a6dec21 100644 --- a/contrib/receivestrip/Makefile.am +++ b/contrib/receivestrip/Makefile.am @@ -2,21 +2,6 @@ AUTOMAKE_OPTIONS = foreign -AM_CFLAGS = -g -Wall -pedantic -Wsign-compare -DDEFAULTTEXTDIR='"@textlibdir@"' -I$(srcdir)/../../include -AM_LDFLAGS = -if WANT_COVERAGE -AM_CFLAGS += -O0 -ggdb -fprofile-arcs -ftest-coverage -fprofile-generate -AM_LDFLAGS += -fprofile-generate -endif -if WANT_ASAN -AM_CFLAGS += -O0 -ggdb -fsanitize=address -AM_LDFLAGS += -fsanitize=address -endif -if WANT_UBSAN -AM_CFLAGS += -O0 -ggdb -fsanitize=undefined -AM_LDFLAGS += -fsanitize=undefined -endif - if WANT_RECEIVESTRIP bin_PROGRAMS = mlmmj-receive-strip endif diff --git a/src/Makefile.am b/src/Makefile.am index a424d342..7ab219d3 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -2,21 +2,6 @@ AUTOMAKE_OPTIONS = foreign -AM_CFLAGS = -g -Wall -std=gnu99 -D_GNU_SOURCE=1 -Wextra -pedantic -Wsign-compare -DDEFAULTTEXTDIR='"@textlibdir@"' -I$(srcdir)/../include -AM_LDFLAGS = -if WANT_COVERAGE -AM_CFLAGS += -O0 -ggdb -fprofile-arcs -ftest-coverage -fprofile-generate -AM_LDFLAGS += -fprofile-generate -endif -if WANT_ASAN -AM_CFLAGS += -O0 -ggdb -fsanitize=address -AM_LDFLAGS += -fsanitize=address -endif -if WANT_UBSAN -AM_CFLAGS += -O0 -ggdb -fsanitize=undefined -AM_LDFLAGS += -fsanitize=undefined -endif - bin_PROGRAMS = mlmmj-send mlmmj-receive mlmmj-process mlmmj-sub \ mlmmj-unsub mlmmj-bounce mlmmj-maintd mlmmj-list diff --git a/tests/Makefile.am b/tests/Makefile.am index 5d4785db..66127277 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -10,21 +10,8 @@ fakesmtpd_SOURCES= fakesmtpd.c EXTRA_DIST = *.sh *.h CLEANFILES= $(test_scripts:.sh=) -AM_CFLAGS = -g -Wall -std=gnu11 -D_GNU_SOURCE=1 -Wextra -pedantic -Wsign-compare -DDEFAULTTEXTDIR='"@textlibdir@"' -I$(srcdir)/../include @ATF_CFLAGS@ +AM_CFLAGS += @ATF_CFLAGS@ mlmmj_LDADD = $(top_builddir)/src/libmlmmj.a @ATF_LIBS@ -lrt -AM_LDFLAGS = -if WANT_COVERAGE -AM_CFLAGS += -O0 -ggdb -fprofile-arcs -ftest-coverage -fprofile-generate -AM_LDFLAGS += -fprofile-generate -endif -if WANT_ASAN -AM_CFLAGS += -O0 -ggdb -fsanitize=address -AM_LDFLAGS += -fsanitize=address -endif -if WANT_UBSAN -AM_CFLAGS += -O0 -ggdb -fsanitize=undefined -AM_LDFLAGS += -fsanitize=undefined -endif test_scripts = mlmmj-send.sh \ functional-tests.sh \