aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--configure.ac9
-rw-r--r--contrib/dlmalloc/Makefile.am7
2 files changed, 10 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index b5cac0b..43b4d1b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,10 +18,10 @@ AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AX_CHECK_ENABLE_DEBUG
-AM_CONDITIONAL(DEBUG, [test x$ax_enable_debug != xno])
if [[ x$ax_enable_debug = xno ]]; then
# glib does not look at NDEBUG
AC_DEFINE(G_DISABLE_ASSERT, 1, [Disable g_assert()])
+ DLMALLOC_CPPFLAGS="$DLMALLOC_CPPFLAGS -DINSECURE=1"
fi
# Use the user provided CXXFLAGS for Scintilla as well.
@@ -224,6 +224,13 @@ case $host in
;;
esac
+# Optional UNIX libc functions.
+# FreeBSD arm64 and riscv are missing sbrk(), which can be used by dlmalloc.
+AC_CHECK_FUNCS([sbrk], , [
+ DLMALLOC_CPPFLAGS="$DLMALLOC_CPPFLAGS -DHAVE_MORECORE=0"
+])
+AC_SUBST(DLMALLOC_CPPFLAGS)
+
#
# Config options
#
diff --git a/contrib/dlmalloc/Makefile.am b/contrib/dlmalloc/Makefile.am
index 223ed13..73232d7 100644
--- a/contrib/dlmalloc/Makefile.am
+++ b/contrib/dlmalloc/Makefile.am
@@ -1,6 +1,6 @@
# Source: http://gee.cs.oswego.edu/dl/html/malloc.html
#
-# FIXME: On FreeBSD, we might implement a compatible mremap() based on the BSD mremap() and pass
+# FIXME: On NetBSD, we might implement a compatible mremap() based on the NetBSD mremap() and pass
# in -DHAVE_MREMAP=1 -DMREMAP=mremap_bsd. We'll have to add a declaration to malloc.c or
# use -include mremap_bsd.h in CPPFLAGS.
#
@@ -8,10 +8,7 @@
# for increased portability. There is also AC_LIBOBJ, but it's usually for defining sources of
# replacement libraries.
-AM_CPPFLAGS = -DNO_MALLINFO=1 -DNO_MALLOC_STATS=1 -DUSE_LOCKS=1 -DUSE_DL_PREFIX
-if !DEBUG
-AM_CPPFLAGS += -DINSECURE=1
-endif
+AM_CPPFLAGS = @DLMALLOC_CPPFLAGS@ -DNO_MALLINFO=1 -DNO_MALLOC_STATS=1 -DUSE_LOCKS=1 -DUSE_DL_PREFIX
# FIXME: This optimization is still broken as of GCC v9.3.0.
# This is a known GCC bug, triggered by memset() in calloc().