diff --git a/configure b/configure
index 3692924..f579a84 100755
--- a/configure
+++ b/configure
@@ -869,7 +869,9 @@
UMEM_LIBS
HasUMEM_FALSE
HasUMEM_TRUE
-has_jemalloc
+JEMALLOC_LIBS
+HasJEMALLOC_FALSE
+HasJEMALLOC_TRUE
GOMP_LIBS
WITH_MAGICK_PLUS_PLUS_FALSE
WITH_MAGICK_PLUS_PLUS_TRUE
@@ -1163,10 +1165,9 @@
with_package_release_name
with_perl
with_perl_options
+with_jemalloc
with_umem
with_libstdc
-with_jemalloc_prefix
-with_jemalloc
with_bzlib
with_x
with_zlib
@@ -1936,11 +1937,9 @@
--with-perl-options=OPTIONS
options to pass on command-line when generating
PerlMagick build file
+ --with-jemalloc enable jemalloc memory allocation library support
--with-umem enable umem memory allocation library support
--with-libstdc=DIR use libstdc++ in DIR (for GNU C++)
- --with-jemalloc-prefix=PREFIX
- Specify the jemalloc prefix [default=""]
- --with-jemalloc=DIR use a specific jemalloc library
--without-bzlib disable BZLIB support
--with-x use the X Window System
--without-zlib disable ZLIB support
@@ -3704,7 +3703,7 @@
MAGICK_VERSION=7.0.0-0
-MAGICK_SVN_REVISION=16921:16931M
+MAGICK_SVN_REVISION=16921:16936M
# Substitute library versioning
@@ -21634,6 +21633,19 @@
+# Enable jemalloc, object-caching memory allocation library.
+
+# Check whether --with-jemalloc was given.
+if test "${with_jemalloc+set}" = set; then :
+ withval=$with_jemalloc; with_jemalloc=$withval
+else
+ with_jemalloc='no'
+fi
+
+if test "$with_jemalloc" != 'yes' ; then
+ DISTCHECK_CONFIG_FLAGS="${DISTCHECK_CONFIG_FLAGS} --with-jemalloc=$with_jemalloc "
+fi
+
# Enable umem, object-caching memory allocation library.
# Check whether --with-umem was given.
@@ -26602,81 +26614,26 @@
#
-# Check for jemalloc().
+# Check for jemalloc.
#
-
-
-# Check whether --with-jemalloc-prefix was given.
-if test "${with_jemalloc_prefix+set}" = set; then :
- withval=$with_jemalloc_prefix;
- jemalloc_prefix="$withval"
-
-else
-
- if test "`uname -s`" = "Darwin"; then
- jemalloc_prefix="je_"
- else
- jemalloc_prefix=""
- fi
-
-
+have_jemalloc='no'
+JEMALLOC_LIBS=''
+if test "$with_jemalloc" != 'no'; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JEMALLOC support " >&5
+$as_echo_n "checking for JEMALLOC support ... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
+$as_echo "" >&6; }
+ failed=0
+ passed=0
+ ac_fn_c_check_header_mongrel "$LINENO" "jemalloc/jemalloc.h" "ac_cv_header_jemalloc_jemalloc_h" "$ac_includes_default"
+if test "x$ac_cv_header_jemalloc_jemalloc_h" = xyes; then :
+ passed=`expr $passed + 1`,failed=`expr $failed + 1`
fi
-cat >>confdefs.h <<_ACEOF
-#define prefix_jemalloc ${jemalloc_prefix}
-_ACEOF
-
-
-enable_jemalloc=no
-
-# Check whether --with-jemalloc was given.
-if test "${with_jemalloc+set}" = set; then :
- withval=$with_jemalloc;
- if test "$withval" != "no"; then
- if test "x${enable_tcmalloc}" = "xyes"; then
- as_fn_error $? "Cannot compile with both jemalloc and tcmalloc" "$LINENO" 5
- fi
- enable_jemalloc=yes
- jemalloc_base_dir="$withval"
- case "$withval" in
- yes)
- jemalloc_base_dir="/usr"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking checking for jemalloc includes standard directories" >&5
-$as_echo_n "checking checking for jemalloc includes standard directories... " >&6; }
- ;;
- *":"*)
- jemalloc_include="`echo $withval |sed -e 's/:.*$//'`"
- jemalloc_ldflags="`echo $withval |sed -e 's/^.*://'`"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking checking for jemalloc includes in $jemalloc_include libs in $jemalloc_ldflags" >&5
-$as_echo_n "checking checking for jemalloc includes in $jemalloc_include libs in $jemalloc_ldflags... " >&6; }
- ;;
- *)
- jemalloc_include="$withval/include"
- jemalloc_ldflags="$withval/lib"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking checking for jemalloc includes in $withval" >&5
-$as_echo_n "checking checking for jemalloc includes in $withval... " >&6; }
- ;;
- esac
- fi
-
-fi
-
-
-has_jemalloc=0
-if test "$enable_jemalloc" != "no"; then
- jemalloc_have_headers=0
- jemalloc_have_libs=0
- if test "$jemalloc_base_dir" != "/usr"; then
- CFLAGS="${CFLAGS} -I${jemalloc_include}"
- LDFLAGS="${LDFLAGS} -L${jemalloc_ldflags}"
- LIBTOOL_LINK_FLAGS="${LIBTOOL_LINK_FLAGS} -R${jemalloc_ldflags}"
- fi
- func="${jemalloc_prefix}malloc_stats_print"
- as_ac_Lib=`$as_echo "ac_cv_lib_jemalloc_${func}" | $as_tr_sh`
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${func} in -ljemalloc" >&5
-$as_echo_n "checking for ${func} in -ljemalloc... " >&6; }
-if eval \${$as_ac_Lib+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for malloc_stats_print in -ljemalloc" >&5
+$as_echo_n "checking for malloc_stats_print in -ljemalloc... " >&6; }
+if ${ac_cv_lib_jemalloc_malloc_stats_print+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -26690,61 +26647,62 @@
#ifdef __cplusplus
extern "C"
#endif
-char ${func} ();
+char malloc_stats_print ();
int
main ()
{
-return ${func} ();
+return malloc_stats_print ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- eval "$as_ac_Lib=yes"
+ ac_cv_lib_jemalloc_malloc_stats_print=yes
else
- eval "$as_ac_Lib=no"
+ ac_cv_lib_jemalloc_malloc_stats_print=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-eval ac_res=\$$as_ac_Lib
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
- jemalloc_have_libs=1
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jemalloc_malloc_stats_print" >&5
+$as_echo "$ac_cv_lib_jemalloc_malloc_stats_print" >&6; }
+if test "x$ac_cv_lib_jemalloc_malloc_stats_print" = xyes; then :
+ passed=`expr $passed + 1`,failed=`expr $failed + 1`
fi
- if test "$jemalloc_have_libs" != "0"; then
- for ac_header in jemalloc/jemalloc.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "jemalloc/jemalloc.h" "ac_cv_header_jemalloc_jemalloc_h" "$ac_includes_default"
-if test "x$ac_cv_header_jemalloc_jemalloc_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_JEMALLOC_JEMALLOC_H 1
-_ACEOF
- jemalloc_have_headers=1
-fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if jemalloc memory allocation library is complete" >&5
+$as_echo_n "checking if jemalloc memory allocation library is complete... " >&6; }
+ if test $passed -gt 0; then
+ if test $failed -gt 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no -- some components failed test" >&5
+$as_echo "no -- some components failed test" >&6; }
+ have_jemalloc='no (failed tests)'
+ else
+ JEMALLOC_LIBS='-ljemalloc'
+ LIBS="$JEMALLOC_LIBS $LIBS"
-done
+$as_echo "#define HasJEMALLOC 1" >>confdefs.h
- fi
- if test "$jemalloc_have_headers" != "0"; then
- has_jemalloc=1
- LIBS="${LIBS} -ljemalloc"
-
-$as_echo "#define has_jemalloc 1" >>confdefs.h
-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_jemalloc='yes'
+ fi
else
- as_fn_error $? "Couldn't find a jemalloc installation" "$LINENO" 5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
fi
-
-
-if test "x$jemalloc_have_libs" != "x0"; then :
- JE_LIBS="-ljemalloc"
+ if test "$have_jemalloc" = 'yes'; then
+ HasJEMALLOC_TRUE=
+ HasJEMALLOC_FALSE='#'
+else
+ HasJEMALLOC_TRUE='#'
+ HasJEMALLOC_FALSE=
fi
+
+
#
# Check for umem.
#
@@ -36072,9 +36030,9 @@
#
if test "$build_modules" != 'no'; then
- MAGICK_DEP_LIBS="$USER_LIBS $LCMS_LIBS $FREETYPE_LIBS $LQR_LIBS $FFTW_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $LZMA_LIBS $BZLIB_LIBS $ZLIB_LIBS $LTDL_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JE_LIBS $THREAD_LIBS"
+ MAGICK_DEP_LIBS="$USER_LIBS $LCMS_LIBS $FREETYPE_LIBS $LQR_LIBS $FFTW_LIBS $FONTCONFIG_LIBS $XEXT_LIBS $IPC_LIBS $X11_LIBS $XT_LIBS $LZMA_LIBS $BZLIB_LIBS $ZLIB_LIBS $LTDL_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS"
else
- MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FPX_LIBS $FONTCONFIG_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $OPENJPEG_LIBS $PANGO_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JE_LIBS $THREAD_LIBS"
+ MAGICK_DEP_LIBS="$USER_LIBS $JBIG_LIBS $LCMS_LIBS $TIFF_LIBS $FREETYPE_LIBS $JPEG_LIBS $GS_LIBS $LQR_LIBS $PNG_LIBS $AUTOTRACE_LIBS $DJVU_LIBS $FFTW_LIBS $FPX_LIBS $FONTCONFIG_LIBS $WEBP_LIBS $WMF_LIBS $DPS_LIBS $XEXT_LIBS $XT_LIBS $IPC_LIBS $X11_LIBS $LZMA_LIBS $BZLIB_LIBS $OPENEXR_LIBS $OPENJPEG_LIBS $PANGO_LIBS $RSVG_LIBS $XML_LIBS $GVC_LIBS $ZLIB_LIBS $GDI32_LIBS $MATH_LIBS $GOMP_LIBS $CL_LIBS $UMEM_LIBS $JEMALLOC_LIBS $THREAD_LIBS"
fi
@@ -36324,6 +36282,10 @@
as_fn_error $? "conditional \"WITH_MAGICK_PLUS_PLUS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${HasJEMALLOC_TRUE}" && test -z "${HasJEMALLOC_FALSE}"; then
+ as_fn_error $? "conditional \"HasJEMALLOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${HasUMEM_TRUE}" && test -z "${HasUMEM_FALSE}"; then
as_fn_error $? "conditional \"HasUMEM\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5