aboutsummaryrefslogtreecommitdiff
path: root/src/config/pre.in
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2016-06-30 12:32:20 -0400
committerGreg Hudson <ghudson@mit.edu>2016-08-10 21:42:01 -0400
commit0a203b8720f2514569e46ad51755b43a38346113 (patch)
treeead7ce94ece3d654b97927883ea7d15b63a0227e /src/config/pre.in
parent4947c270032691d556140b290e1b10846b692968 (diff)
downloadkrb5-0a203b8720f2514569e46ad51755b43a38346113.zip
krb5-0a203b8720f2514569e46ad51755b43a38346113.tar.gz
krb5-0a203b8720f2514569e46ad51755b43a38346113.tar.bz2
Add asan build support
Add the --enable-asan configure option. This option suppresses the undefined symbol check when building shared libraries on Linux, and adds -fsanitize=address to the compiler and linker options.
Diffstat (limited to 'src/config/pre.in')
-rw-r--r--src/config/pre.in15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/config/pre.in b/src/config/pre.in
index cec2218..b3678b8 100644
--- a/src/config/pre.in
+++ b/src/config/pre.in
@@ -150,19 +150,22 @@ CONFIG_RELTOPDIR = @CONFIG_RELTOPDIR@
# WARN_CFLAGS user override but starts off set by configure
# PTHREAD_CFLAGS set by configure, not included in CFLAGS so that we
# don't pull the pthreads library into shared libraries
+# ASAN_FLAGS set by configure when --enable-asan is used
ALL_CFLAGS = $(DEFS) $(DEFINES) $(KRB_INCLUDES) $(LOCALINCLUDES) \
-DKRB5_DEPRECATED=1 \
-DKRB5_PRIVATE \
- $(CPPFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(PTHREAD_CFLAGS)
+ $(CPPFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(PTHREAD_CFLAGS) $(ASAN_FLAGS)
ALL_CXXFLAGS = $(DEFS) $(DEFINES) $(KRB_INCLUDES) $(LOCALINCLUDES) \
-DKRB5_DEPRECATED=1 \
-DKRB5_PRIVATE \
- $(CPPFLAGS) $(CXXFLAGS) $(WARN_CXXFLAGS) $(PTHREAD_CFLAGS)
+ $(CPPFLAGS) $(CXXFLAGS) $(WARN_CXXFLAGS) $(PTHREAD_CFLAGS) \
+ $(ASAN_FLAGS)
CFLAGS = @CFLAGS@
CXXFLAGS = @CXXFLAGS@
WARN_CFLAGS = @WARN_CFLAGS@
WARN_CXXFLAGS = @WARN_CXXFLAGS@
+ASAN_FLAGS = @ASAN_FLAGS@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
THREAD_LINKOPTS = $(PTHREAD_CFLAGS) $(PTHREAD_LIBS)
@@ -281,8 +284,8 @@ EXEEXT =
# prog: foo.o bar.o $(KRB5_BASE_DEPLIBS)
# $(CC_LINK) -o $@ foo.o bar.o $(KRB5_BASE_LIBS)
-CC_LINK=@CC_LINK@
-CXX_LINK=@CXX_LINK@
+CC_LINK=@CC_LINK@ $(ASAN_FLAGS)
+CXX_LINK=@CXX_LINK@ $(ASAN_FLAGS)
# Makefile.in files which build programs can override the list of
# directories to look for dependent libraries in (in the form -Ldir1
@@ -553,6 +556,10 @@ MAKE_DYNOBJ_COMMAND=@MAKE_DYNOBJ_COMMAND@
DYNOBJ_EXPDEPS=@DYNOBJ_EXPDEPS@
DYNOBJ_EXPFLAGS=@DYNOBJ_EXPFLAGS@
+# For some platforms, a flag which causes shared library creation to
+# check for undefined symbols. Suppressed when using --enable-asan.
+UNDEF_CHECK=@UNDEF_CHECK@
+
# File with symbol names to be exported, both functions and data,
# currently not distinguished.
SHLIB_EXPORT_FILE=$(srcdir)/$(LIBPREFIX)$(LIBBASE).exports