blob: 9617a5e3eea8c7a6e628d58ca15c88b7ec1f78a8 [file] [log] [blame]
Jason Evansb7924f52009-06-23 19:01:18 -07001dnl Process this file with autoconf to produce a configure script.
2AC_INIT([Makefile.in])
3
Jason Evansf3340ca2009-06-30 16:17:05 -07004dnl ============================================================================
5dnl Custom macro definitions.
6
7dnl JE_CFLAGS_APPEND(cflag)
8AC_DEFUN([JE_CFLAGS_APPEND],
9[
10AC_MSG_CHECKING([whether compiler supports $1])
11TCFLAGS="${CFLAGS}"
12if test "x${CFLAGS}" = "x" ; then
13 CFLAGS="$1"
14else
15 CFLAGS="${CFLAGS} $1"
16fi
17AC_RUN_IFELSE([AC_LANG_PROGRAM(
18[[
19]], [[
20 return 0;
21]])],
22 AC_MSG_RESULT([yes]),
23 AC_MSG_RESULT([no])
24 [CFLAGS="${TCFLAGS}"]
25)
26])
27
28dnl JE_COMPILABLE(label, hcode, mcode, rvar)
29AC_DEFUN([JE_COMPILABLE],
30[
31AC_MSG_CHECKING([whether $1 is compilable])
Jason Evans9f949f92011-03-22 20:44:40 -070032AC_RUN_IFELSE([AC_LANG_PROGRAM(
Jason Evansf3340ca2009-06-30 16:17:05 -070033[$2], [$3])],
34 AC_MSG_RESULT([yes])
35 [$4="yes"],
36 AC_MSG_RESULT([no])
37 [$4="no"]
38)
39])
40
41dnl ============================================================================
42
Jason Evansf576c632011-11-01 22:27:41 -070043dnl Library revision.
44rev=1
45AC_SUBST([rev])
46
Jason Evansb7924f52009-06-23 19:01:18 -070047srcroot=$srcdir
48if test "x${srcroot}" = "x." ; then
49 srcroot=""
50else
51 srcroot="${srcroot}/"
52fi
53AC_SUBST([srcroot])
54abs_srcroot="`cd \"${srcdir}\"; pwd`/"
55AC_SUBST([abs_srcroot])
56
57objroot=""
58AC_SUBST([objroot])
59abs_objroot="`pwd`/"
60AC_SUBST([abs_objroot])
61
62dnl Munge install path variables.
63if test "x$prefix" = "xNONE" ; then
64 prefix="/usr/local"
65fi
66if test "x$exec_prefix" = "xNONE" ; then
67 exec_prefix=$prefix
68fi
69PREFIX=$prefix
70AC_SUBST([PREFIX])
71BINDIR=`eval echo $bindir`
72BINDIR=`eval echo $BINDIR`
73AC_SUBST([BINDIR])
74INCLUDEDIR=`eval echo $includedir`
75INCLUDEDIR=`eval echo $INCLUDEDIR`
76AC_SUBST([INCLUDEDIR])
77LIBDIR=`eval echo $libdir`
78LIBDIR=`eval echo $LIBDIR`
79AC_SUBST([LIBDIR])
80DATADIR=`eval echo $datadir`
81DATADIR=`eval echo $DATADIR`
82AC_SUBST([DATADIR])
83MANDIR=`eval echo $mandir`
84MANDIR=`eval echo $MANDIR`
85AC_SUBST([MANDIR])
86
Jason Evansaee7fd22010-11-24 22:00:02 -080087dnl Support for building documentation.
88AC_PATH_PROG([XSLTPROC], [xsltproc], , [$PATH])
89AC_ARG_WITH([xslroot],
90 [AS_HELP_STRING([--with-xslroot=<path>], [XSL stylesheet root path])],
91if test "x$with_xslroot" = "xno" ; then
92 XSLROOT="/usr/share/xml/docbook/stylesheet/docbook-xsl"
93else
94 XSLROOT="${with_xslroot}"
95fi,
96 XSLROOT="/usr/share/xml/docbook/stylesheet/docbook-xsl"
97)
98AC_SUBST([XSLROOT])
99
Jason Evansf3340ca2009-06-30 16:17:05 -0700100dnl If CFLAGS isn't defined, set CFLAGS to something reasonable. Otherwise,
101dnl just prevent autoconf from molesting CFLAGS.
Jason Evansb7924f52009-06-23 19:01:18 -0700102CFLAGS=$CFLAGS
103AC_PROG_CC
104if test "x$CFLAGS" = "x" ; then
105 no_CFLAGS="yes"
Jason Evanscfeccd32010-03-03 15:48:20 -0800106 if test "x$GCC" = "xyes" ; then
107 JE_CFLAGS_APPEND([-std=gnu99])
108 JE_CFLAGS_APPEND([-Wall])
109 JE_CFLAGS_APPEND([-pipe])
110 JE_CFLAGS_APPEND([-g3])
111 fi
Jason Evansb7924f52009-06-23 19:01:18 -0700112fi
113dnl Append EXTRA_CFLAGS to CFLAGS, if defined.
114if test "x$EXTRA_CFLAGS" != "x" ; then
Jason Evansf3340ca2009-06-30 16:17:05 -0700115 JE_CFLAGS_APPEND([$EXTRA_CFLAGS])
Jason Evansb7924f52009-06-23 19:01:18 -0700116fi
117AC_PROG_CPP
118
Jason Evansb7924f52009-06-23 19:01:18 -0700119AC_CHECK_SIZEOF([void *])
120if test "x${ac_cv_sizeof_void_p}" = "x8" ; then
Jason Evans94ad2b52009-12-29 00:09:15 -0800121 LG_SIZEOF_PTR=3
Jason Evansb7924f52009-06-23 19:01:18 -0700122elif test "x${ac_cv_sizeof_void_p}" = "x4" ; then
Jason Evans94ad2b52009-12-29 00:09:15 -0800123 LG_SIZEOF_PTR=2
Jason Evansb7924f52009-06-23 19:01:18 -0700124else
125 AC_MSG_ERROR([Unsupported pointer size: ${ac_cv_sizeof_void_p}])
126fi
Jason Evans94ad2b52009-12-29 00:09:15 -0800127AC_DEFINE_UNQUOTED([LG_SIZEOF_PTR], [$LG_SIZEOF_PTR])
128
129AC_CHECK_SIZEOF([int])
130if test "x${ac_cv_sizeof_int}" = "x8" ; then
131 LG_SIZEOF_INT=3
132elif test "x${ac_cv_sizeof_int}" = "x4" ; then
133 LG_SIZEOF_INT=2
134else
135 AC_MSG_ERROR([Unsupported int size: ${ac_cv_sizeof_int}])
136fi
137AC_DEFINE_UNQUOTED([LG_SIZEOF_INT], [$LG_SIZEOF_INT])
Jason Evansb7924f52009-06-23 19:01:18 -0700138
Jason Evans84c8eef2011-03-16 10:30:13 -0700139AC_CHECK_SIZEOF([long])
140if test "x${ac_cv_sizeof_long}" = "x8" ; then
141 LG_SIZEOF_LONG=3
142elif test "x${ac_cv_sizeof_long}" = "x4" ; then
143 LG_SIZEOF_LONG=2
144else
145 AC_MSG_ERROR([Unsupported long size: ${ac_cv_sizeof_long}])
146fi
147AC_DEFINE_UNQUOTED([LG_SIZEOF_LONG], [$LG_SIZEOF_LONG])
148
Jason Evansb7924f52009-06-23 19:01:18 -0700149AC_CANONICAL_HOST
150dnl CPU-specific settings.
151CPU_SPINWAIT=""
152case "${host_cpu}" in
153 i[[345]]86)
154 ;;
155 i686)
Jason Evansf3340ca2009-06-30 16:17:05 -0700156 JE_COMPILABLE([__asm__], [], [[__asm__ volatile("pause"); return 0;]],
157 [asm])
158 if test "x${asm}" = "xyes" ; then
159 CPU_SPINWAIT='__asm__ volatile("pause")'
160 fi
Jason Evansb7924f52009-06-23 19:01:18 -0700161 ;;
162 x86_64)
Jason Evansf3340ca2009-06-30 16:17:05 -0700163 JE_COMPILABLE([__asm__ syntax], [],
164 [[__asm__ volatile("pause"); return 0;]], [asm])
165 if test "x${asm}" = "xyes" ; then
166 CPU_SPINWAIT='__asm__ volatile("pause")'
167 fi
Jason Evansb7924f52009-06-23 19:01:18 -0700168 ;;
169 *)
170 ;;
171esac
172AC_DEFINE_UNQUOTED([CPU_SPINWAIT], [$CPU_SPINWAIT])
173
Antony Dovgal2bd3cbc2011-10-13 09:33:33 +0400174LD_PRELOAD_VAR="LD_PRELOAD"
Jason Evansf576c632011-11-01 22:27:41 -0700175so="so"
Antony Dovgal2bd3cbc2011-10-13 09:33:33 +0400176
Jason Evans7372b152012-02-10 20:22:09 -0800177dnl Heap profiling uses the log(3) function.
178LIBS="$LIBS -lm"
179
Jason Evansb7924f52009-06-23 19:01:18 -0700180dnl Platform-specific settings. abi and RPATH can probably be determined
181dnl programmatically, but doing so is error-prone, which makes it generally
182dnl not worth the trouble.
183dnl
184dnl Define cpp macros in CPPFLAGS, rather than doing AC_DEFINE(macro), since the
185dnl definitions need to be seen before any headers are included, which is a pain
186dnl to make happen otherwise.
187case "${host}" in
188 *-*-darwin*)
189 CFLAGS="$CFLAGS -fno-common -no-cpp-precomp"
190 abi="macho"
Jason Evansce930552010-10-24 13:03:07 -0700191 AC_DEFINE([JEMALLOC_PURGE_MADVISE_FREE])
Jason Evansb7924f52009-06-23 19:01:18 -0700192 RPATH=""
Antony Dovgal2bd3cbc2011-10-13 09:33:33 +0400193 LD_PRELOAD_VAR="DYLD_INSERT_LIBRARIES"
Jason Evansf576c632011-11-01 22:27:41 -0700194 so="dylib"
Jason Evansb7924f52009-06-23 19:01:18 -0700195 ;;
196 *-*-freebsd*)
197 CFLAGS="$CFLAGS"
198 abi="elf"
Jason Evans2dbecf12010-09-05 10:35:13 -0700199 AC_DEFINE([JEMALLOC_PURGE_MADVISE_FREE])
Jason Evansb7924f52009-06-23 19:01:18 -0700200 RPATH="-Wl,-rpath,"
201 ;;
202 *-*-linux*)
203 CFLAGS="$CFLAGS"
204 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
205 abi="elf"
Jason Evans2dbecf12010-09-05 10:35:13 -0700206 AC_DEFINE([JEMALLOC_PURGE_MADVISE_DONTNEED])
Jason Evansb7924f52009-06-23 19:01:18 -0700207 RPATH="-Wl,-rpath,"
208 ;;
209 *-*-netbsd*)
210 AC_MSG_CHECKING([ABI])
211 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
212[[#ifdef __ELF__
213/* ELF */
214#else
215#error aout
216#endif
217]])],
218 [CFLAGS="$CFLAGS"; abi="elf"],
219 [abi="aout"])
220 AC_MSG_RESULT([$abi])
Jason Evans2dbecf12010-09-05 10:35:13 -0700221 AC_DEFINE([JEMALLOC_PURGE_MADVISE_FREE])
Jason Evansb7924f52009-06-23 19:01:18 -0700222 RPATH="-Wl,-rpath,"
223 ;;
224 *-*-solaris2*)
225 CFLAGS="$CFLAGS"
226 abi="elf"
227 RPATH="-Wl,-R,"
228 dnl Solaris needs this for sigwait().
229 CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
230 LIBS="$LIBS -lposix4 -lsocket -lnsl"
231 ;;
Antony Dovgal2bd3cbc2011-10-13 09:33:33 +0400232 *-ibm-aix*)
233 if "$LG_SIZEOF_PTR" = "8"; then
234 dnl 64bit AIX
235 LD_PRELOAD_VAR="LDR_PRELOAD64"
236 else
237 dnl 32bit AIX
238 LD_PRELOAD_VAR="LDR_PRELOAD"
239 fi
240 abi="xcoff"
241 RPATH="-Wl,-rpath,"
242 ;;
Jason Evansb7924f52009-06-23 19:01:18 -0700243 *)
244 AC_MSG_RESULT([Unsupported operating system: ${host}])
245 abi="elf"
246 RPATH="-Wl,-rpath,"
247 ;;
248esac
249AC_SUBST([abi])
250AC_SUBST([RPATH])
Antony Dovgal2bd3cbc2011-10-13 09:33:33 +0400251AC_SUBST([LD_PRELOAD_VAR])
Jason Evansf576c632011-11-01 22:27:41 -0700252AC_SUBST([so])
Jason Evansb7924f52009-06-23 19:01:18 -0700253
Jason Evansfa5d2452011-03-15 10:25:59 -0700254JE_COMPILABLE([__attribute__ syntax],
255 [static __attribute__((unused)) void foo(void){}],
256 [],
257 [attribute])
258if test "x${attribute}" = "xyes" ; then
259 AC_DEFINE([JEMALLOC_HAVE_ATTR], [ ])
260 if test "x${GCC}" = "xyes" -a "x${abi}" = "xelf"; then
261 JE_CFLAGS_APPEND([-fvisibility=hidden])
262 fi
263fi
264
Jason Evanscfdc8cf2010-11-30 16:50:58 -0800265JE_COMPILABLE([mremap(...MREMAP_FIXED...)], [
266#define _GNU_SOURCE
267#include <sys/mman.h>
268], [
269void *p = mremap((void *)0, 0, 0, MREMAP_MAYMOVE|MREMAP_FIXED, (void *)0);
270], [mremap_fixed])
271if test "x${mremap_fixed}" = "xyes" ; then
272 AC_DEFINE([JEMALLOC_MREMAP_FIXED])
273fi
274
Jason Evansb7924f52009-06-23 19:01:18 -0700275dnl Support optional additions to rpath.
276AC_ARG_WITH([rpath],
Jason Evans90895cf2009-12-29 00:09:15 -0800277 [AS_HELP_STRING([--with-rpath=<rpath>], [Colon-separated rpath (ELF systems only)])],
Jason Evansb7924f52009-06-23 19:01:18 -0700278if test "x$with_rpath" = "xno" ; then
279 RPATH_EXTRA=
280else
281 RPATH_EXTRA="`echo $with_rpath | tr \":\" \" \"`"
282fi,
283 RPATH_EXTRA=
284)
285AC_SUBST([RPATH_EXTRA])
286
287dnl Disable rules that do automatic regeneration of configure output by default.
288AC_ARG_ENABLE([autogen],
Jason Evans78d815c2010-01-17 14:06:20 -0800289 [AS_HELP_STRING([--enable-autogen], [Automatically regenerate configure output])],
Jason Evansb7924f52009-06-23 19:01:18 -0700290if test "x$enable_autogen" = "xno" ; then
291 enable_autogen="0"
292else
293 enable_autogen="1"
294fi
295,
296enable_autogen="0"
297)
298AC_SUBST([enable_autogen])
299
300AC_PROG_INSTALL
301AC_PROG_RANLIB
302AC_PATH_PROG([AR], [ar], , [$PATH])
303AC_PATH_PROG([LD], [ld], , [$PATH])
304AC_PATH_PROG([AUTOCONF], [autoconf], , [$PATH])
305
Jason Evans90895cf2009-12-29 00:09:15 -0800306dnl Do not prefix public APIs by default.
307AC_ARG_WITH([jemalloc_prefix],
308 [AS_HELP_STRING([--with-jemalloc-prefix=<prefix>], [Prefix to prepend to all public APIs])],
Jason Evansb0fd5012010-01-17 01:49:20 -0800309 [JEMALLOC_PREFIX="$with_jemalloc_prefix"],
Jason Evans2dbecf12010-09-05 10:35:13 -0700310 [if test "x$abi" != "xmacho" ; then
311 JEMALLOC_PREFIX=""
312else
313 JEMALLOC_PREFIX="je_"
314fi]
Jason Evans90895cf2009-12-29 00:09:15 -0800315)
316if test "x$JEMALLOC_PREFIX" != "x" ; then
Jason Evanse7339702010-10-23 18:37:06 -0700317 JEMALLOC_CPREFIX=`echo ${JEMALLOC_PREFIX} | tr "a-z" "A-Z"`
318 AC_DEFINE_UNQUOTED([JEMALLOC_PREFIX], ["$JEMALLOC_PREFIX"])
319 AC_DEFINE_UNQUOTED([JEMALLOC_CPREFIX], ["$JEMALLOC_CPREFIX"])
Jason Evanse476f8a2010-01-16 09:53:50 -0800320 AC_DEFINE_UNQUOTED([JEMALLOC_P(string_that_no_one_should_want_to_use_as_a_jemalloc_API_prefix)], [${JEMALLOC_PREFIX}##string_that_no_one_should_want_to_use_as_a_jemalloc_API_prefix])
Jason Evans90895cf2009-12-29 00:09:15 -0800321fi
322
Jason Evans746e77a2011-07-30 16:40:52 -0700323dnl Do not mangle library-private APIs by default.
324AC_ARG_WITH([private_namespace],
325 [AS_HELP_STRING([--with-private-namespace=<prefix>], [Prefix to prepend to all library-private APIs])],
326 [JEMALLOC_PRIVATE_NAMESPACE="$with_private_namespace"],
327 [JEMALLOC_PRIVATE_NAMESPACE=""]
328)
329AC_DEFINE_UNQUOTED([JEMALLOC_PRIVATE_NAMESPACE], ["$JEMALLOC_PRIVATE_NAMESPACE"])
330if test "x$JEMALLOC_PRIVATE_NAMESPACE" != "x" ; then
331 AC_DEFINE_UNQUOTED([JEMALLOC_N(string_that_no_one_should_want_to_use_as_a_jemalloc_private_namespace_prefix)], [${JEMALLOC_PRIVATE_NAMESPACE}##string_that_no_one_should_want_to_use_as_a_jemalloc_private_namespace_prefix])
332else
333 AC_DEFINE_UNQUOTED([JEMALLOC_N(string_that_no_one_should_want_to_use_as_a_jemalloc_private_namespace_prefix)], [string_that_no_one_should_want_to_use_as_a_jemalloc_private_namespace_prefix])
334fi
335
Jason Evansb0fd5012010-01-17 01:49:20 -0800336dnl Do not add suffix to installed files by default.
337AC_ARG_WITH([install_suffix],
338 [AS_HELP_STRING([--with-install-suffix=<suffix>], [Suffix to append to all installed files])],
339 [INSTALL_SUFFIX="$with_install_suffix"],
340 [INSTALL_SUFFIX=]
341)
342install_suffix="$INSTALL_SUFFIX"
343AC_SUBST([install_suffix])
344
Jason Evansaee7fd22010-11-24 22:00:02 -0800345cfgoutputs_in="${srcroot}Makefile.in"
346cfgoutputs_in="${cfgoutputs_in} ${srcroot}doc/html.xsl.in"
347cfgoutputs_in="${cfgoutputs_in} ${srcroot}doc/manpages.xsl.in"
348cfgoutputs_in="${cfgoutputs_in} ${srcroot}doc/jemalloc.xml.in"
Jason Evans0656ec02010-04-07 23:37:35 -0700349cfgoutputs_in="${cfgoutputs_in} ${srcroot}include/jemalloc/jemalloc.h.in"
350cfgoutputs_in="${cfgoutputs_in} ${srcroot}include/jemalloc/internal/jemalloc_internal.h.in"
Jason Evans9f3b0a72010-10-07 09:53:26 -0700351cfgoutputs_in="${cfgoutputs_in} ${srcroot}test/jemalloc_test.h.in"
Jason Evansb0fd5012010-01-17 01:49:20 -0800352
Jason Evansaee7fd22010-11-24 22:00:02 -0800353cfgoutputs_out="Makefile"
354cfgoutputs_out="${cfgoutputs_out} doc/html.xsl"
355cfgoutputs_out="${cfgoutputs_out} doc/manpages.xsl"
356cfgoutputs_out="${cfgoutputs_out} doc/jemalloc${install_suffix}.xml"
Jason Evans376b1522010-02-11 14:45:59 -0800357cfgoutputs_out="${cfgoutputs_out} include/jemalloc/jemalloc${install_suffix}.h"
358cfgoutputs_out="${cfgoutputs_out} include/jemalloc/internal/jemalloc_internal.h"
Jason Evans9f3b0a72010-10-07 09:53:26 -0700359cfgoutputs_out="${cfgoutputs_out} test/jemalloc_test.h"
Jason Evansb0fd5012010-01-17 01:49:20 -0800360
Jason Evansaee7fd22010-11-24 22:00:02 -0800361cfgoutputs_tup="Makefile"
362cfgoutputs_tup="${cfgoutputs_tup} doc/html.xsl:doc/html.xsl.in"
363cfgoutputs_tup="${cfgoutputs_tup} doc/manpages.xsl:doc/manpages.xsl.in"
364cfgoutputs_tup="${cfgoutputs_tup} doc/jemalloc${install_suffix}.xml:doc/jemalloc.xml.in"
Jason Evans376b1522010-02-11 14:45:59 -0800365cfgoutputs_tup="${cfgoutputs_tup} include/jemalloc/jemalloc${install_suffix}.h:include/jemalloc/jemalloc.h.in"
366cfgoutputs_tup="${cfgoutputs_tup} include/jemalloc/internal/jemalloc_internal.h"
Jason Evans9f3b0a72010-10-07 09:53:26 -0700367cfgoutputs_tup="${cfgoutputs_tup} test/jemalloc_test.h:test/jemalloc_test.h.in"
Jason Evansb0fd5012010-01-17 01:49:20 -0800368
Jason Evans0656ec02010-04-07 23:37:35 -0700369cfghdrs_in="${srcroot}include/jemalloc/jemalloc_defs.h.in"
Jason Evansb0fd5012010-01-17 01:49:20 -0800370
Jason Evans376b1522010-02-11 14:45:59 -0800371cfghdrs_out="include/jemalloc/jemalloc_defs${install_suffix}.h"
Jason Evansb0fd5012010-01-17 01:49:20 -0800372
Jason Evans376b1522010-02-11 14:45:59 -0800373cfghdrs_tup="include/jemalloc/jemalloc_defs${install_suffix}.h:include/jemalloc/jemalloc_defs.h.in"
Jason Evansb0fd5012010-01-17 01:49:20 -0800374
Jason Evans355b4382010-09-20 19:20:48 -0700375dnl Do not silence irrelevant compiler warnings by default, since enabling this
376dnl option incurs a performance penalty.
377AC_ARG_ENABLE([cc-silence],
378 [AS_HELP_STRING([--enable-cc-silence],
379 [Silence irrelevant compiler warnings])],
380[if test "x$enable_cc_silence" = "xno" ; then
381 enable_cc_silence="0"
382else
383 enable_cc_silence="1"
384fi
385],
386[enable_cc_silence="0"]
387)
388if test "x$enable_cc_silence" = "x1" ; then
389 AC_DEFINE([JEMALLOC_CC_SILENCE])
390fi
391
Jason Evansb7924f52009-06-23 19:01:18 -0700392dnl Do not compile with debugging by default.
393AC_ARG_ENABLE([debug],
394 [AS_HELP_STRING([--enable-debug], [Build debugging code])],
395[if test "x$enable_debug" = "xno" ; then
396 enable_debug="0"
397else
398 enable_debug="1"
399fi
400],
401[enable_debug="0"]
402)
403if test "x$enable_debug" = "x1" ; then
404 AC_DEFINE([JEMALLOC_DEBUG], [ ])
Jason Evans2dbecf12010-09-05 10:35:13 -0700405 AC_DEFINE([JEMALLOC_IVSALLOC], [ ])
Jason Evansb7924f52009-06-23 19:01:18 -0700406fi
407AC_SUBST([enable_debug])
408
409dnl Only optimize if not debugging.
410if test "x$enable_debug" = "x0" -a "x$no_CFLAGS" = "xyes" ; then
411 dnl Make sure that an optimization flag was not specified in EXTRA_CFLAGS.
Jason Evansf3340ca2009-06-30 16:17:05 -0700412 optimize="no"
413 echo "$EXTRA_CFLAGS" | grep "\-O" >/dev/null || optimize="yes"
414 if test "x${optimize}" = "xyes" ; then
415 if test "x$GCC" = "xyes" ; then
416 JE_CFLAGS_APPEND([-O3])
417 JE_CFLAGS_APPEND([-funroll-loops])
Jason Evansf3340ca2009-06-30 16:17:05 -0700418 else
419 JE_CFLAGS_APPEND([-O])
420 fi
Jason Evansb7924f52009-06-23 19:01:18 -0700421 fi
422fi
423
424dnl Do not enable statistics calculation by default.
425AC_ARG_ENABLE([stats],
426 [AS_HELP_STRING([--enable-stats], [Enable statistics calculation/reporting])],
427[if test "x$enable_stats" = "xno" ; then
428 enable_stats="0"
429else
430 enable_stats="1"
431fi
432],
433[enable_stats="0"]
434)
435if test "x$enable_stats" = "x1" ; then
436 AC_DEFINE([JEMALLOC_STATS], [ ])
437fi
438AC_SUBST([enable_stats])
439
Jason Evans6109fe02010-02-10 10:37:56 -0800440dnl Do not enable profiling by default.
441AC_ARG_ENABLE([prof],
442 [AS_HELP_STRING([--enable-prof], [Enable allocation profiling])],
443[if test "x$enable_prof" = "xno" ; then
444 enable_prof="0"
445else
446 enable_prof="1"
447fi
448],
449[enable_prof="0"]
450)
Jason Evans77f350b2011-03-15 22:23:12 -0700451if test "x$enable_prof" = "x1" ; then
452 backtrace_method=""
Jason Evansb27805b2010-02-10 18:15:53 -0800453else
Jason Evans77f350b2011-03-15 22:23:12 -0700454 backtrace_method="N/A"
Jason Evansb27805b2010-02-10 18:15:53 -0800455fi
Jason Evans77f350b2011-03-15 22:23:12 -0700456
Jason Evans6109fe02010-02-10 10:37:56 -0800457AC_ARG_ENABLE([prof-libunwind],
458 [AS_HELP_STRING([--enable-prof-libunwind], [Use libunwind for backtracing])],
459[if test "x$enable_prof_libunwind" = "xno" ; then
460 enable_prof_libunwind="0"
461else
462 enable_prof_libunwind="1"
463fi
464],
465[enable_prof_libunwind="0"]
466)
Jason Evansca6bd4f2010-03-02 14:12:58 -0800467AC_ARG_WITH([static_libunwind],
468 [AS_HELP_STRING([--with-static-libunwind=<libunwind.a>],
469 [Path to static libunwind library; use rather than dynamically linking])],
470if test "x$with_static_libunwind" = "xno" ; then
471 LUNWIND="-lunwind"
472else
473 if test ! -f "$with_static_libunwind" ; then
474 AC_MSG_ERROR([Static libunwind not found: $with_static_libunwind])
475 fi
476 LUNWIND="$with_static_libunwind"
477fi,
478 LUNWIND="-lunwind"
479)
Jason Evans77f350b2011-03-15 22:23:12 -0700480if test "x$backtrace_method" = "x" -a "x$enable_prof_libunwind" = "x1" ; then
481 AC_CHECK_HEADERS([libunwind.h], , [enable_prof_libunwind="0"])
482 if test "x$LUNWIND" = "x-lunwind" ; then
483 AC_CHECK_LIB([unwind], [backtrace], [LIBS="$LIBS $LUNWIND"],
484 [enable_prof_libunwind="0"])
485 else
486 LIBS="$LIBS $LUNWIND"
487 fi
488 if test "x${enable_prof_libunwind}" = "x1" ; then
489 backtrace_method="libunwind"
490 AC_DEFINE([JEMALLOC_PROF_LIBUNWIND], [ ])
491 fi
492fi
493
494AC_ARG_ENABLE([prof-libgcc],
495 [AS_HELP_STRING([--disable-prof-libgcc],
496 [Do not use libgcc for backtracing])],
497[if test "x$enable_prof_libgcc" = "xno" ; then
498 enable_prof_libgcc="0"
499else
500 enable_prof_libgcc="1"
501fi
502],
503[enable_prof_libgcc="1"]
504)
505if test "x$backtrace_method" = "x" -a "x$enable_prof_libgcc" = "x1" \
506 -a "x$GCC" = "xyes" ; then
507 AC_CHECK_HEADERS([unwind.h], , [enable_prof_libgcc="0"])
508 AC_CHECK_LIB([gcc], [_Unwind_Backtrace], [LIBS="$LIBS -lgcc"], [enable_prof_libgcc="0"])
509 dnl The following is conservative, in that it only has entries for CPUs on
510 dnl which jemalloc has been tested.
511 AC_MSG_CHECKING([libgcc-based backtracing reliability on ${host_cpu}])
512 case "${host_cpu}" in
513 i[[3456]]86)
514 AC_MSG_RESULT([unreliable])
515 enable_prof_libgcc="0";
516 ;;
517 x86_64)
518 AC_MSG_RESULT([reliable])
519 ;;
520 *)
521 AC_MSG_RESULT([unreliable])
522 enable_prof_libgcc="0";
523 ;;
524 esac
525 if test "x${enable_prof_libgcc}" = "x1" ; then
526 backtrace_method="libgcc"
527 AC_DEFINE([JEMALLOC_PROF_LIBGCC], [ ])
528 fi
529else
530 enable_prof_libgcc="0"
531fi
532
533AC_ARG_ENABLE([prof-gcc],
534 [AS_HELP_STRING([--disable-prof-gcc],
535 [Do not use gcc intrinsics for backtracing])],
536[if test "x$enable_prof_gcc" = "xno" ; then
537 enable_prof_gcc="0"
538else
539 enable_prof_gcc="1"
540fi
541],
542[enable_prof_gcc="1"]
543)
544if test "x$backtrace_method" = "x" -a "x$enable_prof_gcc" = "x1" \
545 -a "x$GCC" = "xyes" ; then
546 backtrace_method="gcc intrinsics"
547 AC_DEFINE([JEMALLOC_PROF_GCC], [ ])
548else
549 enable_prof_gcc="0"
550fi
551
552if test "x$backtrace_method" = "x" ; then
553 backtrace_method="none (disabling profiling)"
554 enable_prof="0"
555fi
556AC_MSG_CHECKING([configured backtracing method])
557AC_MSG_RESULT([$backtrace_method])
Jason Evans2dbecf12010-09-05 10:35:13 -0700558if test "x$enable_prof" = "x1" ; then
Jason Evans2dbecf12010-09-05 10:35:13 -0700559 AC_DEFINE([JEMALLOC_PROF], [ ])
Jason Evans2dbecf12010-09-05 10:35:13 -0700560fi
561AC_SUBST([enable_prof])
Jason Evans2dbecf12010-09-05 10:35:13 -0700562
Jason Evansb7924f52009-06-23 19:01:18 -0700563dnl Enable tiny allocations by default.
564AC_ARG_ENABLE([tiny],
565 [AS_HELP_STRING([--disable-tiny], [Disable tiny (sub-quantum) allocations])],
566[if test "x$enable_tiny" = "xno" ; then
567 enable_tiny="0"
568else
569 enable_tiny="1"
570fi
571],
572[enable_tiny="1"]
573)
574if test "x$enable_tiny" = "x1" ; then
575 AC_DEFINE([JEMALLOC_TINY], [ ])
576fi
577AC_SUBST([enable_tiny])
578
Jason Evans84cbbcb2009-12-29 00:09:15 -0800579dnl Enable thread-specific caching by default.
580AC_ARG_ENABLE([tcache],
581 [AS_HELP_STRING([--disable-tcache], [Disable per thread caches])],
582[if test "x$enable_tcache" = "xno" ; then
583 enable_tcache="0"
Jason Evansb7924f52009-06-23 19:01:18 -0700584else
Jason Evans84cbbcb2009-12-29 00:09:15 -0800585 enable_tcache="1"
Jason Evansb7924f52009-06-23 19:01:18 -0700586fi
587],
Jason Evans84cbbcb2009-12-29 00:09:15 -0800588[enable_tcache="1"]
Jason Evansb7924f52009-06-23 19:01:18 -0700589)
Jason Evans2dbecf12010-09-05 10:35:13 -0700590if test "x$enable_tcache" = "x1" ; then
591 AC_DEFINE([JEMALLOC_TCACHE], [ ])
592fi
593AC_SUBST([enable_tcache])
Jason Evansb7924f52009-06-23 19:01:18 -0700594
Jason Evans4201af02010-01-24 02:53:40 -0800595dnl Do not enable mmap()ped swap files by default.
596AC_ARG_ENABLE([swap],
597 [AS_HELP_STRING([--enable-swap], [Enable mmap()ped swap files])],
598[if test "x$enable_swap" = "xno" ; then
599 enable_swap="0"
600else
601 enable_swap="1"
602fi
603],
604[enable_swap="0"]
605)
606if test "x$enable_swap" = "x1" ; then
607 AC_DEFINE([JEMALLOC_SWAP], [ ])
608fi
609AC_SUBST([enable_swap])
Jason Evans4201af02010-01-24 02:53:40 -0800610
Jason Evansb7924f52009-06-23 19:01:18 -0700611dnl Do not enable allocation from DSS by default.
612AC_ARG_ENABLE([dss],
613 [AS_HELP_STRING([--enable-dss], [Enable allocation from DSS])],
614[if test "x$enable_dss" = "xno" ; then
615 enable_dss="0"
616else
617 enable_dss="1"
618fi
619],
620[enable_dss="0"]
621)
622if test "x$enable_dss" = "x1" ; then
623 AC_DEFINE([JEMALLOC_DSS], [ ])
624fi
625AC_SUBST([enable_dss])
626
627dnl Do not support the junk/zero filling option by default.
628AC_ARG_ENABLE([fill],
629 [AS_HELP_STRING([--enable-fill], [Support junk/zero filling option])],
630[if test "x$enable_fill" = "xno" ; then
631 enable_fill="0"
632else
633 enable_fill="1"
634fi
635],
636[enable_fill="0"]
637)
638if test "x$enable_fill" = "x1" ; then
639 AC_DEFINE([JEMALLOC_FILL], [ ])
640fi
641AC_SUBST([enable_fill])
642
643dnl Do not support the xmalloc option by default.
644AC_ARG_ENABLE([xmalloc],
645 [AS_HELP_STRING([--enable-xmalloc], [Support xmalloc option])],
646[if test "x$enable_xmalloc" = "xno" ; then
647 enable_xmalloc="0"
648else
649 enable_xmalloc="1"
650fi
651],
652[enable_xmalloc="0"]
653)
654if test "x$enable_xmalloc" = "x1" ; then
655 AC_DEFINE([JEMALLOC_XMALLOC], [ ])
656fi
657AC_SUBST([enable_xmalloc])
658
659dnl Do not support the SYSV option by default.
660AC_ARG_ENABLE([sysv],
661 [AS_HELP_STRING([--enable-sysv], [Support SYSV semantics option])],
662[if test "x$enable_sysv" = "xno" ; then
663 enable_sysv="0"
664else
665 enable_sysv="1"
666fi
667],
668[enable_sysv="0"]
669)
670if test "x$enable_sysv" = "x1" ; then
671 AC_DEFINE([JEMALLOC_SYSV], [ ])
672fi
673AC_SUBST([enable_sysv])
674
675dnl Do not determine page shift at run time by default.
676AC_ARG_ENABLE([dynamic_page_shift],
677 [AS_HELP_STRING([--enable-dynamic-page-shift],
678 [Determine page size at run time (don't trust configure result)])],
679[if test "x$enable_dynamic_page_shift" = "xno" ; then
680 enable_dynamic_page_shift="0"
681else
682 enable_dynamic_page_shift="1"
683fi
684],
685[enable_dynamic_page_shift="0"]
686)
687if test "x$enable_dynamic_page_shift" = "x1" ; then
688 AC_DEFINE([DYNAMIC_PAGE_SHIFT], [ ])
689fi
690AC_SUBST([enable_dynamic_page_shift])
691
692AC_MSG_CHECKING([STATIC_PAGE_SHIFT])
693AC_RUN_IFELSE([AC_LANG_PROGRAM(
694[[#include <stdio.h>
695#include <unistd.h>
696#include <strings.h>
697]], [[
698 long result;
699 FILE *f;
700
701 result = sysconf(_SC_PAGESIZE);
702 if (result == -1) {
703 return 1;
704 }
705 f = fopen("conftest.out", "w");
706 if (f == NULL) {
707 return 1;
708 }
709 fprintf(f, "%u\n", ffs((int)result) - 1);
710 close(f);
711
712 return 0;
713]])],
714 [STATIC_PAGE_SHIFT=`cat conftest.out`]
715 AC_MSG_RESULT([$STATIC_PAGE_SHIFT])
716 AC_DEFINE_UNQUOTED([STATIC_PAGE_SHIFT], [$STATIC_PAGE_SHIFT]),
717 AC_MSG_RESULT([error]))
718
719dnl ============================================================================
720dnl jemalloc configuration.
721dnl
Jason Evansa40bc7a2010-03-02 13:01:16 -0800722
723dnl Set VERSION if source directory has an embedded git repository.
Jason Evans955851f2011-03-31 22:38:51 -0700724if test -d "${srcroot}.git" ; then
Jason Evans79d660d2010-09-17 17:38:24 -0700725 git describe --long --abbrev=40 > ${srcroot}VERSION
Jason Evansa40bc7a2010-03-02 13:01:16 -0800726fi
Jason Evansb7924f52009-06-23 19:01:18 -0700727jemalloc_version=`cat ${srcroot}VERSION`
Jason Evansa40bc7a2010-03-02 13:01:16 -0800728jemalloc_version_major=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]1}'`
729jemalloc_version_minor=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]2}'`
730jemalloc_version_bugfix=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]3}'`
731jemalloc_version_nrev=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]4}'`
732jemalloc_version_gid=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]5}'`
Jason Evansb7924f52009-06-23 19:01:18 -0700733AC_SUBST([jemalloc_version])
Jason Evansa40bc7a2010-03-02 13:01:16 -0800734AC_SUBST([jemalloc_version_major])
735AC_SUBST([jemalloc_version_minor])
736AC_SUBST([jemalloc_version_bugfix])
737AC_SUBST([jemalloc_version_nrev])
738AC_SUBST([jemalloc_version_gid])
Jason Evansb7924f52009-06-23 19:01:18 -0700739
740dnl ============================================================================
741dnl Configure pthreads.
742
743AC_CHECK_HEADERS([pthread.h], , [AC_MSG_ERROR([pthread.h is missing])])
744AC_CHECK_LIB([pthread], [pthread_create], [LIBS="$LIBS -lpthread"],
745 [AC_MSG_ERROR([libpthread is missing])])
746
747CPPFLAGS="$CPPFLAGS -D_REENTRANT"
748
Jason Evanscc00a152009-06-25 18:06:48 -0700749dnl Enable lazy locking by default.
Jason Evansb7924f52009-06-23 19:01:18 -0700750AC_ARG_ENABLE([lazy_lock],
Jason Evansa1624022009-11-09 14:58:12 -0800751 [AS_HELP_STRING([--disable-lazy-lock],
Jason Evanscc00a152009-06-25 18:06:48 -0700752 [Disable lazy locking (always lock, even when single-threaded)])],
Jason Evansb7924f52009-06-23 19:01:18 -0700753[if test "x$enable_lazy_lock" = "xno" ; then
754 enable_lazy_lock="0"
755else
756 enable_lazy_lock="1"
757fi
758],
Jason Evanscc00a152009-06-25 18:06:48 -0700759[enable_lazy_lock="1"]
Jason Evansb7924f52009-06-23 19:01:18 -0700760)
761if test "x$enable_lazy_lock" = "x1" ; then
762 AC_CHECK_HEADERS([dlfcn.h], , [AC_MSG_ERROR([dlfcn.h is missing])])
763 AC_CHECK_LIB([dl], [dlopen], [LIBS="$LIBS -ldl"],
764 [AC_MSG_ERROR([libdl is missing])])
765 AC_DEFINE([JEMALLOC_LAZY_LOCK], [ ])
766fi
767AC_SUBST([enable_lazy_lock])
768
Jason Evans78d815c2010-01-17 14:06:20 -0800769AC_ARG_ENABLE([tls],
770 [AS_HELP_STRING([--disable-tls], [Disable thread-local storage (__thread keyword)])],
771if test "x$enable_tls" = "xno" ; then
772 enable_tls="0"
773else
774 enable_tls="1"
775fi
776,
777enable_tls="1"
778)
779if test "x${enable_tls}" = "x1" ; then
780AC_MSG_CHECKING([for TLS])
781AC_RUN_IFELSE([AC_LANG_PROGRAM(
782[[
783 __thread int x;
784]], [[
785 x = 42;
786
787 return 0;
788]])],
789 AC_MSG_RESULT([yes]),
790 AC_MSG_RESULT([no])
791 enable_tls="0")
792fi
Jason Evansb267d0f2010-08-13 15:42:29 -0700793AC_SUBST([enable_tls])
Jason Evans78d815c2010-01-17 14:06:20 -0800794if test "x${enable_tls}" = "x0" ; then
795 AC_DEFINE_UNQUOTED([NO_TLS], [ ])
796fi
797
Jason Evans2dbecf12010-09-05 10:35:13 -0700798dnl ============================================================================
Jason Evans84c8eef2011-03-16 10:30:13 -0700799dnl Check for ffsl(3), and fail if not found. This function exists on all
800dnl platforms that jemalloc currently has a chance of functioning on without
801dnl modification.
802
803AC_CHECK_FUNC([ffsl], [],
804 [AC_MSG_ERROR([Cannot build without ffsl(3)])])
805
806dnl ============================================================================
Jason Evans763baa62011-03-18 19:10:31 -0700807dnl Check for atomic(3) operations as provided on Darwin.
808
809JE_COMPILABLE([Darwin OSAtomic*()], [
810#include <libkern/OSAtomic.h>
811#include <inttypes.h>
812], [
813 {
814 int32_t x32 = 0;
815 volatile int32_t *x32p = &x32;
816 OSAtomicAdd32(1, x32p);
817 }
818 {
819 int64_t x64 = 0;
820 volatile int64_t *x64p = &x64;
821 OSAtomicAdd64(1, x64p);
822 }
823], [osatomic])
824if test "x${osatomic}" = "xyes" ; then
825 AC_DEFINE([JEMALLOC_OSATOMIC])
826fi
827
828dnl ============================================================================
Jason Evans893a0ed2011-03-18 19:30:18 -0700829dnl Check for spinlock(3) operations as provided on Darwin.
830
831JE_COMPILABLE([Darwin OSSpin*()], [
832#include <libkern/OSAtomic.h>
833#include <inttypes.h>
834], [
835 OSSpinLock lock = 0;
836 OSSpinLockLock(&lock);
837 OSSpinLockUnlock(&lock);
838], [osspin])
839if test "x${osspin}" = "xyes" ; then
840 AC_DEFINE([JEMALLOC_OSSPIN])
841fi
842
843dnl ============================================================================
Jason Evans6a0d2912010-09-20 16:44:23 -0700844dnl Check for allocator-related functions that should be wrapped.
845
846AC_CHECK_FUNC([memalign],
847 [AC_DEFINE([JEMALLOC_OVERRIDE_MEMALIGN])])
848AC_CHECK_FUNC([valloc],
849 [AC_DEFINE([JEMALLOC_OVERRIDE_VALLOC])])
850
851dnl ============================================================================
Jason Evans2dbecf12010-09-05 10:35:13 -0700852dnl Darwin-related configuration.
Jason Evans78d815c2010-01-17 14:06:20 -0800853
Jason Evans2dbecf12010-09-05 10:35:13 -0700854if test "x${abi}" = "xmacho" ; then
855 AC_DEFINE([JEMALLOC_IVSALLOC])
856 AC_DEFINE([JEMALLOC_ZONE])
Jason Evans6109fe02010-02-10 10:37:56 -0800857
Jason Evans2dbecf12010-09-05 10:35:13 -0700858 dnl The szone version jumped from 3 to 6 between the OS X 10.5.x and 10.6
859 dnl releases. malloc_zone_t and malloc_introspection_t have new fields in
860 dnl 10.6, which is the only source-level indication of the change.
861 AC_MSG_CHECKING([malloc zone version])
862 AC_TRY_COMPILE([#include <stdlib.h>
863#include <malloc/malloc.h>], [
864 static malloc_zone_t zone;
865 static struct malloc_introspection_t zone_introspect;
866
867 zone.size = NULL;
868 zone.malloc = NULL;
869 zone.calloc = NULL;
870 zone.valloc = NULL;
871 zone.free = NULL;
872 zone.realloc = NULL;
873 zone.destroy = NULL;
874 zone.zone_name = "jemalloc_zone";
875 zone.batch_malloc = NULL;
876 zone.batch_free = NULL;
877 zone.introspect = &zone_introspect;
878 zone.version = 6;
879 zone.memalign = NULL;
880 zone.free_definite_size = NULL;
881
882 zone_introspect.enumerator = NULL;
883 zone_introspect.good_size = NULL;
884 zone_introspect.check = NULL;
885 zone_introspect.print = NULL;
886 zone_introspect.log = NULL;
887 zone_introspect.force_lock = NULL;
888 zone_introspect.force_unlock = NULL;
889 zone_introspect.statistics = NULL;
890 zone_introspect.zone_locked = NULL;
891], [AC_DEFINE_UNQUOTED([JEMALLOC_ZONE_VERSION], [6])
892 AC_MSG_RESULT([6])],
893 [AC_DEFINE_UNQUOTED([JEMALLOC_ZONE_VERSION], [3])
894 AC_MSG_RESULT([3])])
Jason Evansb27805b2010-02-10 18:15:53 -0800895fi
896
Jason Evansb7924f52009-06-23 19:01:18 -0700897dnl ============================================================================
898dnl Check for typedefs, structures, and compiler characteristics.
899AC_HEADER_STDBOOL
900
901dnl Process .in files.
Jason Evansb0fd5012010-01-17 01:49:20 -0800902AC_SUBST([cfghdrs_in])
903AC_SUBST([cfghdrs_out])
Jason Evans0656ec02010-04-07 23:37:35 -0700904AC_CONFIG_HEADERS([$cfghdrs_tup])
Jason Evansb7924f52009-06-23 19:01:18 -0700905
906dnl ============================================================================
907dnl Generate outputs.
Antony Dovgal2bd3cbc2011-10-13 09:33:33 +0400908AC_CONFIG_FILES([$cfgoutputs_tup config.stamp bin/jemalloc.sh])
Jason Evansb0fd5012010-01-17 01:49:20 -0800909AC_SUBST([cfgoutputs_in])
910AC_SUBST([cfgoutputs_out])
Jason Evansb7924f52009-06-23 19:01:18 -0700911AC_OUTPUT
912
913dnl ============================================================================
914dnl Print out the results of configuration.
915AC_MSG_RESULT([===============================================================================])
Jason Evansf576c632011-11-01 22:27:41 -0700916AC_MSG_RESULT([jemalloc version : ${jemalloc_version}])
917AC_MSG_RESULT([library revision : ${rev}])
Jason Evansb7924f52009-06-23 19:01:18 -0700918AC_MSG_RESULT([])
919AC_MSG_RESULT([CC : ${CC}])
920AC_MSG_RESULT([CPPFLAGS : ${CPPFLAGS}])
921AC_MSG_RESULT([CFLAGS : ${CFLAGS}])
922AC_MSG_RESULT([LDFLAGS : ${LDFLAGS}])
923AC_MSG_RESULT([LIBS : ${LIBS}])
924AC_MSG_RESULT([RPATH_EXTRA : ${RPATH_EXTRA}])
925AC_MSG_RESULT([])
Jason Evansaee7fd22010-11-24 22:00:02 -0800926AC_MSG_RESULT([XSLTPROC : ${XSLTPROC}])
927AC_MSG_RESULT([XSLROOT : ${XSLROOT}])
928AC_MSG_RESULT([])
Jason Evansb7924f52009-06-23 19:01:18 -0700929AC_MSG_RESULT([PREFIX : ${PREFIX}])
930AC_MSG_RESULT([BINDIR : ${BINDIR}])
Jason Evans662a0172009-07-01 19:24:31 -0700931AC_MSG_RESULT([INCLUDEDIR : ${INCLUDEDIR}])
932AC_MSG_RESULT([LIBDIR : ${LIBDIR}])
Jason Evansb7924f52009-06-23 19:01:18 -0700933AC_MSG_RESULT([DATADIR : ${DATADIR}])
934AC_MSG_RESULT([MANDIR : ${MANDIR}])
935AC_MSG_RESULT([])
936AC_MSG_RESULT([srcroot : ${srcroot}])
937AC_MSG_RESULT([abs_srcroot : ${abs_srcroot}])
938AC_MSG_RESULT([objroot : ${objroot}])
939AC_MSG_RESULT([abs_objroot : ${abs_objroot}])
940AC_MSG_RESULT([])
Jason Evans90895cf2009-12-29 00:09:15 -0800941AC_MSG_RESULT([JEMALLOC_PREFIX : ${JEMALLOC_PREFIX}])
Jason Evans746e77a2011-07-30 16:40:52 -0700942AC_MSG_RESULT([JEMALLOC_PRIVATE_NAMESPACE])
943AC_MSG_RESULT([ : ${JEMALLOC_PRIVATE_NAMESPACE}])
Jason Evansb0fd5012010-01-17 01:49:20 -0800944AC_MSG_RESULT([install_suffix : ${install_suffix}])
Jason Evansb7924f52009-06-23 19:01:18 -0700945AC_MSG_RESULT([autogen : ${enable_autogen}])
Jason Evans355b4382010-09-20 19:20:48 -0700946AC_MSG_RESULT([cc-silence : ${enable_cc_silence}])
Jason Evansb7924f52009-06-23 19:01:18 -0700947AC_MSG_RESULT([debug : ${enable_debug}])
948AC_MSG_RESULT([stats : ${enable_stats}])
Jason Evans6109fe02010-02-10 10:37:56 -0800949AC_MSG_RESULT([prof : ${enable_prof}])
950AC_MSG_RESULT([prof-libunwind : ${enable_prof_libunwind}])
Jason Evans77f350b2011-03-15 22:23:12 -0700951AC_MSG_RESULT([prof-libgcc : ${enable_prof_libgcc}])
952AC_MSG_RESULT([prof-gcc : ${enable_prof_gcc}])
Jason Evansb7924f52009-06-23 19:01:18 -0700953AC_MSG_RESULT([tiny : ${enable_tiny}])
Jason Evans84cbbcb2009-12-29 00:09:15 -0800954AC_MSG_RESULT([tcache : ${enable_tcache}])
Jason Evansb7924f52009-06-23 19:01:18 -0700955AC_MSG_RESULT([fill : ${enable_fill}])
956AC_MSG_RESULT([xmalloc : ${enable_xmalloc}])
957AC_MSG_RESULT([sysv : ${enable_sysv}])
Jason Evans4201af02010-01-24 02:53:40 -0800958AC_MSG_RESULT([swap : ${enable_swap}])
Jason Evansb7924f52009-06-23 19:01:18 -0700959AC_MSG_RESULT([dss : ${enable_dss}])
960AC_MSG_RESULT([dynamic_page_shift : ${enable_dynamic_page_shift}])
961AC_MSG_RESULT([lazy_lock : ${enable_lazy_lock}])
Jason Evans2dbecf12010-09-05 10:35:13 -0700962AC_MSG_RESULT([tls : ${enable_tls}])
Jason Evansb7924f52009-06-23 19:01:18 -0700963AC_MSG_RESULT([===============================================================================])