blob: 699f931c21f38a0fbcd9aa449006eb8dcedf7d9f [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 Evansb7924f52009-06-23 19:01:18 -0700177dnl Platform-specific settings. abi and RPATH can probably be determined
178dnl programmatically, but doing so is error-prone, which makes it generally
179dnl not worth the trouble.
180dnl
181dnl Define cpp macros in CPPFLAGS, rather than doing AC_DEFINE(macro), since the
182dnl definitions need to be seen before any headers are included, which is a pain
183dnl to make happen otherwise.
184case "${host}" in
185 *-*-darwin*)
186 CFLAGS="$CFLAGS -fno-common -no-cpp-precomp"
187 abi="macho"
Jason Evansce930552010-10-24 13:03:07 -0700188 AC_DEFINE([JEMALLOC_PURGE_MADVISE_FREE])
Jason Evansb7924f52009-06-23 19:01:18 -0700189 RPATH=""
Antony Dovgal2bd3cbc2011-10-13 09:33:33 +0400190 LD_PRELOAD_VAR="DYLD_INSERT_LIBRARIES"
Jason Evansf576c632011-11-01 22:27:41 -0700191 so="dylib"
Jason Evansb7924f52009-06-23 19:01:18 -0700192 ;;
193 *-*-freebsd*)
194 CFLAGS="$CFLAGS"
195 abi="elf"
Jason Evans2dbecf12010-09-05 10:35:13 -0700196 AC_DEFINE([JEMALLOC_PURGE_MADVISE_FREE])
Jason Evansb7924f52009-06-23 19:01:18 -0700197 RPATH="-Wl,-rpath,"
198 ;;
199 *-*-linux*)
200 CFLAGS="$CFLAGS"
201 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
202 abi="elf"
Jason Evans2dbecf12010-09-05 10:35:13 -0700203 AC_DEFINE([JEMALLOC_PURGE_MADVISE_DONTNEED])
Jason Evansb7924f52009-06-23 19:01:18 -0700204 RPATH="-Wl,-rpath,"
205 ;;
206 *-*-netbsd*)
207 AC_MSG_CHECKING([ABI])
208 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
209[[#ifdef __ELF__
210/* ELF */
211#else
212#error aout
213#endif
214]])],
215 [CFLAGS="$CFLAGS"; abi="elf"],
216 [abi="aout"])
217 AC_MSG_RESULT([$abi])
Jason Evans2dbecf12010-09-05 10:35:13 -0700218 AC_DEFINE([JEMALLOC_PURGE_MADVISE_FREE])
Jason Evansb7924f52009-06-23 19:01:18 -0700219 RPATH="-Wl,-rpath,"
220 ;;
221 *-*-solaris2*)
222 CFLAGS="$CFLAGS"
223 abi="elf"
224 RPATH="-Wl,-R,"
225 dnl Solaris needs this for sigwait().
226 CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
227 LIBS="$LIBS -lposix4 -lsocket -lnsl"
228 ;;
Antony Dovgal2bd3cbc2011-10-13 09:33:33 +0400229 *-ibm-aix*)
230 if "$LG_SIZEOF_PTR" = "8"; then
231 dnl 64bit AIX
232 LD_PRELOAD_VAR="LDR_PRELOAD64"
233 else
234 dnl 32bit AIX
235 LD_PRELOAD_VAR="LDR_PRELOAD"
236 fi
237 abi="xcoff"
238 RPATH="-Wl,-rpath,"
239 ;;
Jason Evansb7924f52009-06-23 19:01:18 -0700240 *)
241 AC_MSG_RESULT([Unsupported operating system: ${host}])
242 abi="elf"
243 RPATH="-Wl,-rpath,"
244 ;;
245esac
246AC_SUBST([abi])
247AC_SUBST([RPATH])
Antony Dovgal2bd3cbc2011-10-13 09:33:33 +0400248AC_SUBST([LD_PRELOAD_VAR])
Jason Evansf576c632011-11-01 22:27:41 -0700249AC_SUBST([so])
Jason Evansb7924f52009-06-23 19:01:18 -0700250
Jason Evansfa5d2452011-03-15 10:25:59 -0700251JE_COMPILABLE([__attribute__ syntax],
252 [static __attribute__((unused)) void foo(void){}],
253 [],
254 [attribute])
255if test "x${attribute}" = "xyes" ; then
256 AC_DEFINE([JEMALLOC_HAVE_ATTR], [ ])
257 if test "x${GCC}" = "xyes" -a "x${abi}" = "xelf"; then
258 JE_CFLAGS_APPEND([-fvisibility=hidden])
259 fi
260fi
261
Jason Evanscfdc8cf2010-11-30 16:50:58 -0800262JE_COMPILABLE([mremap(...MREMAP_FIXED...)], [
263#define _GNU_SOURCE
264#include <sys/mman.h>
265], [
266void *p = mremap((void *)0, 0, 0, MREMAP_MAYMOVE|MREMAP_FIXED, (void *)0);
267], [mremap_fixed])
268if test "x${mremap_fixed}" = "xyes" ; then
269 AC_DEFINE([JEMALLOC_MREMAP_FIXED])
270fi
271
Jason Evansb7924f52009-06-23 19:01:18 -0700272dnl Support optional additions to rpath.
273AC_ARG_WITH([rpath],
Jason Evans90895cf2009-12-29 00:09:15 -0800274 [AS_HELP_STRING([--with-rpath=<rpath>], [Colon-separated rpath (ELF systems only)])],
Jason Evansb7924f52009-06-23 19:01:18 -0700275if test "x$with_rpath" = "xno" ; then
276 RPATH_EXTRA=
277else
278 RPATH_EXTRA="`echo $with_rpath | tr \":\" \" \"`"
279fi,
280 RPATH_EXTRA=
281)
282AC_SUBST([RPATH_EXTRA])
283
284dnl Disable rules that do automatic regeneration of configure output by default.
285AC_ARG_ENABLE([autogen],
Jason Evans78d815c2010-01-17 14:06:20 -0800286 [AS_HELP_STRING([--enable-autogen], [Automatically regenerate configure output])],
Jason Evansb7924f52009-06-23 19:01:18 -0700287if test "x$enable_autogen" = "xno" ; then
288 enable_autogen="0"
289else
290 enable_autogen="1"
291fi
292,
293enable_autogen="0"
294)
295AC_SUBST([enable_autogen])
296
297AC_PROG_INSTALL
298AC_PROG_RANLIB
299AC_PATH_PROG([AR], [ar], , [$PATH])
300AC_PATH_PROG([LD], [ld], , [$PATH])
301AC_PATH_PROG([AUTOCONF], [autoconf], , [$PATH])
302
Jason Evans90895cf2009-12-29 00:09:15 -0800303dnl Do not prefix public APIs by default.
304AC_ARG_WITH([jemalloc_prefix],
305 [AS_HELP_STRING([--with-jemalloc-prefix=<prefix>], [Prefix to prepend to all public APIs])],
Jason Evansb0fd5012010-01-17 01:49:20 -0800306 [JEMALLOC_PREFIX="$with_jemalloc_prefix"],
Jason Evans2dbecf12010-09-05 10:35:13 -0700307 [if test "x$abi" != "xmacho" ; then
308 JEMALLOC_PREFIX=""
309else
310 JEMALLOC_PREFIX="je_"
311fi]
Jason Evans90895cf2009-12-29 00:09:15 -0800312)
313if test "x$JEMALLOC_PREFIX" != "x" ; then
Jason Evanse7339702010-10-23 18:37:06 -0700314 JEMALLOC_CPREFIX=`echo ${JEMALLOC_PREFIX} | tr "a-z" "A-Z"`
315 AC_DEFINE_UNQUOTED([JEMALLOC_PREFIX], ["$JEMALLOC_PREFIX"])
316 AC_DEFINE_UNQUOTED([JEMALLOC_CPREFIX], ["$JEMALLOC_CPREFIX"])
Jason Evanse476f8a2010-01-16 09:53:50 -0800317 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 -0800318fi
319
Jason Evans746e77a2011-07-30 16:40:52 -0700320dnl Do not mangle library-private APIs by default.
321AC_ARG_WITH([private_namespace],
322 [AS_HELP_STRING([--with-private-namespace=<prefix>], [Prefix to prepend to all library-private APIs])],
323 [JEMALLOC_PRIVATE_NAMESPACE="$with_private_namespace"],
324 [JEMALLOC_PRIVATE_NAMESPACE=""]
325)
326AC_DEFINE_UNQUOTED([JEMALLOC_PRIVATE_NAMESPACE], ["$JEMALLOC_PRIVATE_NAMESPACE"])
327if test "x$JEMALLOC_PRIVATE_NAMESPACE" != "x" ; then
328 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])
329else
330 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])
331fi
332
Jason Evansb0fd5012010-01-17 01:49:20 -0800333dnl Do not add suffix to installed files by default.
334AC_ARG_WITH([install_suffix],
335 [AS_HELP_STRING([--with-install-suffix=<suffix>], [Suffix to append to all installed files])],
336 [INSTALL_SUFFIX="$with_install_suffix"],
337 [INSTALL_SUFFIX=]
338)
339install_suffix="$INSTALL_SUFFIX"
340AC_SUBST([install_suffix])
341
Jason Evansaee7fd22010-11-24 22:00:02 -0800342cfgoutputs_in="${srcroot}Makefile.in"
343cfgoutputs_in="${cfgoutputs_in} ${srcroot}doc/html.xsl.in"
344cfgoutputs_in="${cfgoutputs_in} ${srcroot}doc/manpages.xsl.in"
345cfgoutputs_in="${cfgoutputs_in} ${srcroot}doc/jemalloc.xml.in"
Jason Evans0656ec02010-04-07 23:37:35 -0700346cfgoutputs_in="${cfgoutputs_in} ${srcroot}include/jemalloc/jemalloc.h.in"
347cfgoutputs_in="${cfgoutputs_in} ${srcroot}include/jemalloc/internal/jemalloc_internal.h.in"
Jason Evans9f3b0a72010-10-07 09:53:26 -0700348cfgoutputs_in="${cfgoutputs_in} ${srcroot}test/jemalloc_test.h.in"
Jason Evansb0fd5012010-01-17 01:49:20 -0800349
Jason Evansaee7fd22010-11-24 22:00:02 -0800350cfgoutputs_out="Makefile"
351cfgoutputs_out="${cfgoutputs_out} doc/html.xsl"
352cfgoutputs_out="${cfgoutputs_out} doc/manpages.xsl"
353cfgoutputs_out="${cfgoutputs_out} doc/jemalloc${install_suffix}.xml"
Jason Evans376b1522010-02-11 14:45:59 -0800354cfgoutputs_out="${cfgoutputs_out} include/jemalloc/jemalloc${install_suffix}.h"
355cfgoutputs_out="${cfgoutputs_out} include/jemalloc/internal/jemalloc_internal.h"
Jason Evans9f3b0a72010-10-07 09:53:26 -0700356cfgoutputs_out="${cfgoutputs_out} test/jemalloc_test.h"
Jason Evansb0fd5012010-01-17 01:49:20 -0800357
Jason Evansaee7fd22010-11-24 22:00:02 -0800358cfgoutputs_tup="Makefile"
359cfgoutputs_tup="${cfgoutputs_tup} doc/html.xsl:doc/html.xsl.in"
360cfgoutputs_tup="${cfgoutputs_tup} doc/manpages.xsl:doc/manpages.xsl.in"
361cfgoutputs_tup="${cfgoutputs_tup} doc/jemalloc${install_suffix}.xml:doc/jemalloc.xml.in"
Jason Evans376b1522010-02-11 14:45:59 -0800362cfgoutputs_tup="${cfgoutputs_tup} include/jemalloc/jemalloc${install_suffix}.h:include/jemalloc/jemalloc.h.in"
363cfgoutputs_tup="${cfgoutputs_tup} include/jemalloc/internal/jemalloc_internal.h"
Jason Evans9f3b0a72010-10-07 09:53:26 -0700364cfgoutputs_tup="${cfgoutputs_tup} test/jemalloc_test.h:test/jemalloc_test.h.in"
Jason Evansb0fd5012010-01-17 01:49:20 -0800365
Jason Evans0656ec02010-04-07 23:37:35 -0700366cfghdrs_in="${srcroot}include/jemalloc/jemalloc_defs.h.in"
Jason Evansb0fd5012010-01-17 01:49:20 -0800367
Jason Evans376b1522010-02-11 14:45:59 -0800368cfghdrs_out="include/jemalloc/jemalloc_defs${install_suffix}.h"
Jason Evansb0fd5012010-01-17 01:49:20 -0800369
Jason Evans376b1522010-02-11 14:45:59 -0800370cfghdrs_tup="include/jemalloc/jemalloc_defs${install_suffix}.h:include/jemalloc/jemalloc_defs.h.in"
Jason Evansb0fd5012010-01-17 01:49:20 -0800371
Jason Evans355b4382010-09-20 19:20:48 -0700372dnl Do not silence irrelevant compiler warnings by default, since enabling this
373dnl option incurs a performance penalty.
374AC_ARG_ENABLE([cc-silence],
375 [AS_HELP_STRING([--enable-cc-silence],
376 [Silence irrelevant compiler warnings])],
377[if test "x$enable_cc_silence" = "xno" ; then
378 enable_cc_silence="0"
379else
380 enable_cc_silence="1"
381fi
382],
383[enable_cc_silence="0"]
384)
385if test "x$enable_cc_silence" = "x1" ; then
386 AC_DEFINE([JEMALLOC_CC_SILENCE])
387fi
388
Jason Evansb7924f52009-06-23 19:01:18 -0700389dnl Do not compile with debugging by default.
390AC_ARG_ENABLE([debug],
391 [AS_HELP_STRING([--enable-debug], [Build debugging code])],
392[if test "x$enable_debug" = "xno" ; then
393 enable_debug="0"
394else
395 enable_debug="1"
396fi
397],
398[enable_debug="0"]
399)
400if test "x$enable_debug" = "x1" ; then
401 AC_DEFINE([JEMALLOC_DEBUG], [ ])
Jason Evans2dbecf12010-09-05 10:35:13 -0700402 AC_DEFINE([JEMALLOC_IVSALLOC], [ ])
Jason Evansb7924f52009-06-23 19:01:18 -0700403fi
404AC_SUBST([enable_debug])
405
406dnl Only optimize if not debugging.
407if test "x$enable_debug" = "x0" -a "x$no_CFLAGS" = "xyes" ; then
408 dnl Make sure that an optimization flag was not specified in EXTRA_CFLAGS.
Jason Evansf3340ca2009-06-30 16:17:05 -0700409 optimize="no"
410 echo "$EXTRA_CFLAGS" | grep "\-O" >/dev/null || optimize="yes"
411 if test "x${optimize}" = "xyes" ; then
412 if test "x$GCC" = "xyes" ; then
413 JE_CFLAGS_APPEND([-O3])
414 JE_CFLAGS_APPEND([-funroll-loops])
Jason Evansf3340ca2009-06-30 16:17:05 -0700415 else
416 JE_CFLAGS_APPEND([-O])
417 fi
Jason Evansb7924f52009-06-23 19:01:18 -0700418 fi
419fi
420
421dnl Do not enable statistics calculation by default.
422AC_ARG_ENABLE([stats],
423 [AS_HELP_STRING([--enable-stats], [Enable statistics calculation/reporting])],
424[if test "x$enable_stats" = "xno" ; then
425 enable_stats="0"
426else
427 enable_stats="1"
428fi
429],
430[enable_stats="0"]
431)
432if test "x$enable_stats" = "x1" ; then
433 AC_DEFINE([JEMALLOC_STATS], [ ])
434fi
435AC_SUBST([enable_stats])
436
Jason Evans6109fe02010-02-10 10:37:56 -0800437dnl Do not enable profiling by default.
438AC_ARG_ENABLE([prof],
439 [AS_HELP_STRING([--enable-prof], [Enable allocation profiling])],
440[if test "x$enable_prof" = "xno" ; then
441 enable_prof="0"
442else
443 enable_prof="1"
444fi
445],
446[enable_prof="0"]
447)
Jason Evans77f350b2011-03-15 22:23:12 -0700448if test "x$enable_prof" = "x1" ; then
449 backtrace_method=""
Jason Evansb27805b2010-02-10 18:15:53 -0800450else
Jason Evans77f350b2011-03-15 22:23:12 -0700451 backtrace_method="N/A"
Jason Evansb27805b2010-02-10 18:15:53 -0800452fi
Jason Evans77f350b2011-03-15 22:23:12 -0700453
Jason Evans6109fe02010-02-10 10:37:56 -0800454AC_ARG_ENABLE([prof-libunwind],
455 [AS_HELP_STRING([--enable-prof-libunwind], [Use libunwind for backtracing])],
456[if test "x$enable_prof_libunwind" = "xno" ; then
457 enable_prof_libunwind="0"
458else
459 enable_prof_libunwind="1"
460fi
461],
462[enable_prof_libunwind="0"]
463)
Jason Evansca6bd4f2010-03-02 14:12:58 -0800464AC_ARG_WITH([static_libunwind],
465 [AS_HELP_STRING([--with-static-libunwind=<libunwind.a>],
466 [Path to static libunwind library; use rather than dynamically linking])],
467if test "x$with_static_libunwind" = "xno" ; then
468 LUNWIND="-lunwind"
469else
470 if test ! -f "$with_static_libunwind" ; then
471 AC_MSG_ERROR([Static libunwind not found: $with_static_libunwind])
472 fi
473 LUNWIND="$with_static_libunwind"
474fi,
475 LUNWIND="-lunwind"
476)
Jason Evans77f350b2011-03-15 22:23:12 -0700477if test "x$backtrace_method" = "x" -a "x$enable_prof_libunwind" = "x1" ; then
478 AC_CHECK_HEADERS([libunwind.h], , [enable_prof_libunwind="0"])
479 if test "x$LUNWIND" = "x-lunwind" ; then
480 AC_CHECK_LIB([unwind], [backtrace], [LIBS="$LIBS $LUNWIND"],
481 [enable_prof_libunwind="0"])
482 else
483 LIBS="$LIBS $LUNWIND"
484 fi
485 if test "x${enable_prof_libunwind}" = "x1" ; then
486 backtrace_method="libunwind"
487 AC_DEFINE([JEMALLOC_PROF_LIBUNWIND], [ ])
488 fi
489fi
490
491AC_ARG_ENABLE([prof-libgcc],
492 [AS_HELP_STRING([--disable-prof-libgcc],
493 [Do not use libgcc for backtracing])],
494[if test "x$enable_prof_libgcc" = "xno" ; then
495 enable_prof_libgcc="0"
496else
497 enable_prof_libgcc="1"
498fi
499],
500[enable_prof_libgcc="1"]
501)
502if test "x$backtrace_method" = "x" -a "x$enable_prof_libgcc" = "x1" \
503 -a "x$GCC" = "xyes" ; then
504 AC_CHECK_HEADERS([unwind.h], , [enable_prof_libgcc="0"])
505 AC_CHECK_LIB([gcc], [_Unwind_Backtrace], [LIBS="$LIBS -lgcc"], [enable_prof_libgcc="0"])
506 dnl The following is conservative, in that it only has entries for CPUs on
507 dnl which jemalloc has been tested.
508 AC_MSG_CHECKING([libgcc-based backtracing reliability on ${host_cpu}])
509 case "${host_cpu}" in
510 i[[3456]]86)
511 AC_MSG_RESULT([unreliable])
512 enable_prof_libgcc="0";
513 ;;
514 x86_64)
515 AC_MSG_RESULT([reliable])
516 ;;
517 *)
518 AC_MSG_RESULT([unreliable])
519 enable_prof_libgcc="0";
520 ;;
521 esac
522 if test "x${enable_prof_libgcc}" = "x1" ; then
523 backtrace_method="libgcc"
524 AC_DEFINE([JEMALLOC_PROF_LIBGCC], [ ])
525 fi
526else
527 enable_prof_libgcc="0"
528fi
529
530AC_ARG_ENABLE([prof-gcc],
531 [AS_HELP_STRING([--disable-prof-gcc],
532 [Do not use gcc intrinsics for backtracing])],
533[if test "x$enable_prof_gcc" = "xno" ; then
534 enable_prof_gcc="0"
535else
536 enable_prof_gcc="1"
537fi
538],
539[enable_prof_gcc="1"]
540)
541if test "x$backtrace_method" = "x" -a "x$enable_prof_gcc" = "x1" \
542 -a "x$GCC" = "xyes" ; then
543 backtrace_method="gcc intrinsics"
544 AC_DEFINE([JEMALLOC_PROF_GCC], [ ])
545else
546 enable_prof_gcc="0"
547fi
548
549if test "x$backtrace_method" = "x" ; then
550 backtrace_method="none (disabling profiling)"
551 enable_prof="0"
552fi
553AC_MSG_CHECKING([configured backtracing method])
554AC_MSG_RESULT([$backtrace_method])
Jason Evans2dbecf12010-09-05 10:35:13 -0700555if test "x$enable_prof" = "x1" ; then
556 LIBS="$LIBS -lm"
557 AC_DEFINE([JEMALLOC_PROF], [ ])
Jason Evans2dbecf12010-09-05 10:35:13 -0700558fi
559AC_SUBST([enable_prof])
Jason Evans2dbecf12010-09-05 10:35:13 -0700560
Jason Evansb7924f52009-06-23 19:01:18 -0700561dnl Enable tiny allocations by default.
562AC_ARG_ENABLE([tiny],
563 [AS_HELP_STRING([--disable-tiny], [Disable tiny (sub-quantum) allocations])],
564[if test "x$enable_tiny" = "xno" ; then
565 enable_tiny="0"
566else
567 enable_tiny="1"
568fi
569],
570[enable_tiny="1"]
571)
572if test "x$enable_tiny" = "x1" ; then
573 AC_DEFINE([JEMALLOC_TINY], [ ])
574fi
575AC_SUBST([enable_tiny])
576
Jason Evans84cbbcb2009-12-29 00:09:15 -0800577dnl Enable thread-specific caching by default.
578AC_ARG_ENABLE([tcache],
579 [AS_HELP_STRING([--disable-tcache], [Disable per thread caches])],
580[if test "x$enable_tcache" = "xno" ; then
581 enable_tcache="0"
Jason Evansb7924f52009-06-23 19:01:18 -0700582else
Jason Evans84cbbcb2009-12-29 00:09:15 -0800583 enable_tcache="1"
Jason Evansb7924f52009-06-23 19:01:18 -0700584fi
585],
Jason Evans84cbbcb2009-12-29 00:09:15 -0800586[enable_tcache="1"]
Jason Evansb7924f52009-06-23 19:01:18 -0700587)
Jason Evans2dbecf12010-09-05 10:35:13 -0700588if test "x$enable_tcache" = "x1" ; then
589 AC_DEFINE([JEMALLOC_TCACHE], [ ])
590fi
591AC_SUBST([enable_tcache])
Jason Evansb7924f52009-06-23 19:01:18 -0700592
Jason Evans4201af02010-01-24 02:53:40 -0800593dnl Do not enable mmap()ped swap files by default.
594AC_ARG_ENABLE([swap],
595 [AS_HELP_STRING([--enable-swap], [Enable mmap()ped swap files])],
596[if test "x$enable_swap" = "xno" ; then
597 enable_swap="0"
598else
599 enable_swap="1"
600fi
601],
602[enable_swap="0"]
603)
604if test "x$enable_swap" = "x1" ; then
605 AC_DEFINE([JEMALLOC_SWAP], [ ])
606fi
607AC_SUBST([enable_swap])
Jason Evans4201af02010-01-24 02:53:40 -0800608
Jason Evansb7924f52009-06-23 19:01:18 -0700609dnl Do not enable allocation from DSS by default.
610AC_ARG_ENABLE([dss],
611 [AS_HELP_STRING([--enable-dss], [Enable allocation from DSS])],
612[if test "x$enable_dss" = "xno" ; then
613 enable_dss="0"
614else
615 enable_dss="1"
616fi
617],
618[enable_dss="0"]
619)
620if test "x$enable_dss" = "x1" ; then
621 AC_DEFINE([JEMALLOC_DSS], [ ])
622fi
623AC_SUBST([enable_dss])
624
625dnl Do not support the junk/zero filling option by default.
626AC_ARG_ENABLE([fill],
627 [AS_HELP_STRING([--enable-fill], [Support junk/zero filling option])],
628[if test "x$enable_fill" = "xno" ; then
629 enable_fill="0"
630else
631 enable_fill="1"
632fi
633],
634[enable_fill="0"]
635)
636if test "x$enable_fill" = "x1" ; then
637 AC_DEFINE([JEMALLOC_FILL], [ ])
638fi
639AC_SUBST([enable_fill])
640
641dnl Do not support the xmalloc option by default.
642AC_ARG_ENABLE([xmalloc],
643 [AS_HELP_STRING([--enable-xmalloc], [Support xmalloc option])],
644[if test "x$enable_xmalloc" = "xno" ; then
645 enable_xmalloc="0"
646else
647 enable_xmalloc="1"
648fi
649],
650[enable_xmalloc="0"]
651)
652if test "x$enable_xmalloc" = "x1" ; then
653 AC_DEFINE([JEMALLOC_XMALLOC], [ ])
654fi
655AC_SUBST([enable_xmalloc])
656
657dnl Do not support the SYSV option by default.
658AC_ARG_ENABLE([sysv],
659 [AS_HELP_STRING([--enable-sysv], [Support SYSV semantics option])],
660[if test "x$enable_sysv" = "xno" ; then
661 enable_sysv="0"
662else
663 enable_sysv="1"
664fi
665],
666[enable_sysv="0"]
667)
668if test "x$enable_sysv" = "x1" ; then
669 AC_DEFINE([JEMALLOC_SYSV], [ ])
670fi
671AC_SUBST([enable_sysv])
672
673dnl Do not determine page shift at run time by default.
674AC_ARG_ENABLE([dynamic_page_shift],
675 [AS_HELP_STRING([--enable-dynamic-page-shift],
676 [Determine page size at run time (don't trust configure result)])],
677[if test "x$enable_dynamic_page_shift" = "xno" ; then
678 enable_dynamic_page_shift="0"
679else
680 enable_dynamic_page_shift="1"
681fi
682],
683[enable_dynamic_page_shift="0"]
684)
685if test "x$enable_dynamic_page_shift" = "x1" ; then
686 AC_DEFINE([DYNAMIC_PAGE_SHIFT], [ ])
687fi
688AC_SUBST([enable_dynamic_page_shift])
689
690AC_MSG_CHECKING([STATIC_PAGE_SHIFT])
691AC_RUN_IFELSE([AC_LANG_PROGRAM(
692[[#include <stdio.h>
693#include <unistd.h>
694#include <strings.h>
695]], [[
696 long result;
697 FILE *f;
698
699 result = sysconf(_SC_PAGESIZE);
700 if (result == -1) {
701 return 1;
702 }
703 f = fopen("conftest.out", "w");
704 if (f == NULL) {
705 return 1;
706 }
707 fprintf(f, "%u\n", ffs((int)result) - 1);
708 close(f);
709
710 return 0;
711]])],
712 [STATIC_PAGE_SHIFT=`cat conftest.out`]
713 AC_MSG_RESULT([$STATIC_PAGE_SHIFT])
714 AC_DEFINE_UNQUOTED([STATIC_PAGE_SHIFT], [$STATIC_PAGE_SHIFT]),
715 AC_MSG_RESULT([error]))
716
717dnl ============================================================================
718dnl jemalloc configuration.
719dnl
Jason Evansa40bc7a2010-03-02 13:01:16 -0800720
721dnl Set VERSION if source directory has an embedded git repository.
Jason Evans955851f2011-03-31 22:38:51 -0700722if test -d "${srcroot}.git" ; then
Jason Evans79d660d2010-09-17 17:38:24 -0700723 git describe --long --abbrev=40 > ${srcroot}VERSION
Jason Evansa40bc7a2010-03-02 13:01:16 -0800724fi
Jason Evansb7924f52009-06-23 19:01:18 -0700725jemalloc_version=`cat ${srcroot}VERSION`
Jason Evansa40bc7a2010-03-02 13:01:16 -0800726jemalloc_version_major=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]1}'`
727jemalloc_version_minor=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]2}'`
728jemalloc_version_bugfix=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]3}'`
729jemalloc_version_nrev=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]4}'`
730jemalloc_version_gid=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]5}'`
Jason Evansb7924f52009-06-23 19:01:18 -0700731AC_SUBST([jemalloc_version])
Jason Evansa40bc7a2010-03-02 13:01:16 -0800732AC_SUBST([jemalloc_version_major])
733AC_SUBST([jemalloc_version_minor])
734AC_SUBST([jemalloc_version_bugfix])
735AC_SUBST([jemalloc_version_nrev])
736AC_SUBST([jemalloc_version_gid])
Jason Evansb7924f52009-06-23 19:01:18 -0700737
738dnl ============================================================================
739dnl Configure pthreads.
740
741AC_CHECK_HEADERS([pthread.h], , [AC_MSG_ERROR([pthread.h is missing])])
742AC_CHECK_LIB([pthread], [pthread_create], [LIBS="$LIBS -lpthread"],
743 [AC_MSG_ERROR([libpthread is missing])])
744
745CPPFLAGS="$CPPFLAGS -D_REENTRANT"
746
Jason Evanscc00a152009-06-25 18:06:48 -0700747dnl Enable lazy locking by default.
Jason Evansb7924f52009-06-23 19:01:18 -0700748AC_ARG_ENABLE([lazy_lock],
Jason Evansa1624022009-11-09 14:58:12 -0800749 [AS_HELP_STRING([--disable-lazy-lock],
Jason Evanscc00a152009-06-25 18:06:48 -0700750 [Disable lazy locking (always lock, even when single-threaded)])],
Jason Evansb7924f52009-06-23 19:01:18 -0700751[if test "x$enable_lazy_lock" = "xno" ; then
752 enable_lazy_lock="0"
753else
754 enable_lazy_lock="1"
755fi
756],
Jason Evanscc00a152009-06-25 18:06:48 -0700757[enable_lazy_lock="1"]
Jason Evansb7924f52009-06-23 19:01:18 -0700758)
759if test "x$enable_lazy_lock" = "x1" ; then
760 AC_CHECK_HEADERS([dlfcn.h], , [AC_MSG_ERROR([dlfcn.h is missing])])
761 AC_CHECK_LIB([dl], [dlopen], [LIBS="$LIBS -ldl"],
762 [AC_MSG_ERROR([libdl is missing])])
763 AC_DEFINE([JEMALLOC_LAZY_LOCK], [ ])
764fi
765AC_SUBST([enable_lazy_lock])
766
Jason Evans78d815c2010-01-17 14:06:20 -0800767AC_ARG_ENABLE([tls],
768 [AS_HELP_STRING([--disable-tls], [Disable thread-local storage (__thread keyword)])],
769if test "x$enable_tls" = "xno" ; then
770 enable_tls="0"
771else
772 enable_tls="1"
773fi
774,
775enable_tls="1"
776)
777if test "x${enable_tls}" = "x1" ; then
778AC_MSG_CHECKING([for TLS])
779AC_RUN_IFELSE([AC_LANG_PROGRAM(
780[[
781 __thread int x;
782]], [[
783 x = 42;
784
785 return 0;
786]])],
787 AC_MSG_RESULT([yes]),
788 AC_MSG_RESULT([no])
789 enable_tls="0")
790fi
Jason Evansb267d0f2010-08-13 15:42:29 -0700791AC_SUBST([enable_tls])
Jason Evans78d815c2010-01-17 14:06:20 -0800792if test "x${enable_tls}" = "x0" ; then
793 AC_DEFINE_UNQUOTED([NO_TLS], [ ])
794fi
795
Jason Evans2dbecf12010-09-05 10:35:13 -0700796dnl ============================================================================
Jason Evans84c8eef2011-03-16 10:30:13 -0700797dnl Check for ffsl(3), and fail if not found. This function exists on all
798dnl platforms that jemalloc currently has a chance of functioning on without
799dnl modification.
800
801AC_CHECK_FUNC([ffsl], [],
802 [AC_MSG_ERROR([Cannot build without ffsl(3)])])
803
804dnl ============================================================================
Jason Evans763baa62011-03-18 19:10:31 -0700805dnl Check for atomic(3) operations as provided on Darwin.
806
807JE_COMPILABLE([Darwin OSAtomic*()], [
808#include <libkern/OSAtomic.h>
809#include <inttypes.h>
810], [
811 {
812 int32_t x32 = 0;
813 volatile int32_t *x32p = &x32;
814 OSAtomicAdd32(1, x32p);
815 }
816 {
817 int64_t x64 = 0;
818 volatile int64_t *x64p = &x64;
819 OSAtomicAdd64(1, x64p);
820 }
821], [osatomic])
822if test "x${osatomic}" = "xyes" ; then
823 AC_DEFINE([JEMALLOC_OSATOMIC])
824fi
825
826dnl ============================================================================
Jason Evans893a0ed2011-03-18 19:30:18 -0700827dnl Check for spinlock(3) operations as provided on Darwin.
828
829JE_COMPILABLE([Darwin OSSpin*()], [
830#include <libkern/OSAtomic.h>
831#include <inttypes.h>
832], [
833 OSSpinLock lock = 0;
834 OSSpinLockLock(&lock);
835 OSSpinLockUnlock(&lock);
836], [osspin])
837if test "x${osspin}" = "xyes" ; then
838 AC_DEFINE([JEMALLOC_OSSPIN])
839fi
840
841dnl ============================================================================
Jason Evans6a0d2912010-09-20 16:44:23 -0700842dnl Check for allocator-related functions that should be wrapped.
843
844AC_CHECK_FUNC([memalign],
845 [AC_DEFINE([JEMALLOC_OVERRIDE_MEMALIGN])])
846AC_CHECK_FUNC([valloc],
847 [AC_DEFINE([JEMALLOC_OVERRIDE_VALLOC])])
848
849dnl ============================================================================
Jason Evans2dbecf12010-09-05 10:35:13 -0700850dnl Darwin-related configuration.
Jason Evans78d815c2010-01-17 14:06:20 -0800851
Jason Evans2dbecf12010-09-05 10:35:13 -0700852if test "x${abi}" = "xmacho" ; then
853 AC_DEFINE([JEMALLOC_IVSALLOC])
854 AC_DEFINE([JEMALLOC_ZONE])
Jason Evans6109fe02010-02-10 10:37:56 -0800855
Jason Evans2dbecf12010-09-05 10:35:13 -0700856 dnl The szone version jumped from 3 to 6 between the OS X 10.5.x and 10.6
857 dnl releases. malloc_zone_t and malloc_introspection_t have new fields in
858 dnl 10.6, which is the only source-level indication of the change.
859 AC_MSG_CHECKING([malloc zone version])
860 AC_TRY_COMPILE([#include <stdlib.h>
861#include <malloc/malloc.h>], [
862 static malloc_zone_t zone;
863 static struct malloc_introspection_t zone_introspect;
864
865 zone.size = NULL;
866 zone.malloc = NULL;
867 zone.calloc = NULL;
868 zone.valloc = NULL;
869 zone.free = NULL;
870 zone.realloc = NULL;
871 zone.destroy = NULL;
872 zone.zone_name = "jemalloc_zone";
873 zone.batch_malloc = NULL;
874 zone.batch_free = NULL;
875 zone.introspect = &zone_introspect;
876 zone.version = 6;
877 zone.memalign = NULL;
878 zone.free_definite_size = NULL;
879
880 zone_introspect.enumerator = NULL;
881 zone_introspect.good_size = NULL;
882 zone_introspect.check = NULL;
883 zone_introspect.print = NULL;
884 zone_introspect.log = NULL;
885 zone_introspect.force_lock = NULL;
886 zone_introspect.force_unlock = NULL;
887 zone_introspect.statistics = NULL;
888 zone_introspect.zone_locked = NULL;
889], [AC_DEFINE_UNQUOTED([JEMALLOC_ZONE_VERSION], [6])
890 AC_MSG_RESULT([6])],
891 [AC_DEFINE_UNQUOTED([JEMALLOC_ZONE_VERSION], [3])
892 AC_MSG_RESULT([3])])
Jason Evansb27805b2010-02-10 18:15:53 -0800893fi
894
Jason Evansb7924f52009-06-23 19:01:18 -0700895dnl ============================================================================
896dnl Check for typedefs, structures, and compiler characteristics.
897AC_HEADER_STDBOOL
898
899dnl Process .in files.
Jason Evansb0fd5012010-01-17 01:49:20 -0800900AC_SUBST([cfghdrs_in])
901AC_SUBST([cfghdrs_out])
Jason Evans0656ec02010-04-07 23:37:35 -0700902AC_CONFIG_HEADERS([$cfghdrs_tup])
Jason Evansb7924f52009-06-23 19:01:18 -0700903
904dnl ============================================================================
905dnl Generate outputs.
Antony Dovgal2bd3cbc2011-10-13 09:33:33 +0400906AC_CONFIG_FILES([$cfgoutputs_tup config.stamp bin/jemalloc.sh])
Jason Evansb0fd5012010-01-17 01:49:20 -0800907AC_SUBST([cfgoutputs_in])
908AC_SUBST([cfgoutputs_out])
Jason Evansb7924f52009-06-23 19:01:18 -0700909AC_OUTPUT
910
911dnl ============================================================================
912dnl Print out the results of configuration.
913AC_MSG_RESULT([===============================================================================])
Jason Evansf576c632011-11-01 22:27:41 -0700914AC_MSG_RESULT([jemalloc version : ${jemalloc_version}])
915AC_MSG_RESULT([library revision : ${rev}])
Jason Evansb7924f52009-06-23 19:01:18 -0700916AC_MSG_RESULT([])
917AC_MSG_RESULT([CC : ${CC}])
918AC_MSG_RESULT([CPPFLAGS : ${CPPFLAGS}])
919AC_MSG_RESULT([CFLAGS : ${CFLAGS}])
920AC_MSG_RESULT([LDFLAGS : ${LDFLAGS}])
921AC_MSG_RESULT([LIBS : ${LIBS}])
922AC_MSG_RESULT([RPATH_EXTRA : ${RPATH_EXTRA}])
923AC_MSG_RESULT([])
Jason Evansaee7fd22010-11-24 22:00:02 -0800924AC_MSG_RESULT([XSLTPROC : ${XSLTPROC}])
925AC_MSG_RESULT([XSLROOT : ${XSLROOT}])
926AC_MSG_RESULT([])
Jason Evansb7924f52009-06-23 19:01:18 -0700927AC_MSG_RESULT([PREFIX : ${PREFIX}])
928AC_MSG_RESULT([BINDIR : ${BINDIR}])
Jason Evans662a0172009-07-01 19:24:31 -0700929AC_MSG_RESULT([INCLUDEDIR : ${INCLUDEDIR}])
930AC_MSG_RESULT([LIBDIR : ${LIBDIR}])
Jason Evansb7924f52009-06-23 19:01:18 -0700931AC_MSG_RESULT([DATADIR : ${DATADIR}])
932AC_MSG_RESULT([MANDIR : ${MANDIR}])
933AC_MSG_RESULT([])
934AC_MSG_RESULT([srcroot : ${srcroot}])
935AC_MSG_RESULT([abs_srcroot : ${abs_srcroot}])
936AC_MSG_RESULT([objroot : ${objroot}])
937AC_MSG_RESULT([abs_objroot : ${abs_objroot}])
938AC_MSG_RESULT([])
Jason Evans90895cf2009-12-29 00:09:15 -0800939AC_MSG_RESULT([JEMALLOC_PREFIX : ${JEMALLOC_PREFIX}])
Jason Evans746e77a2011-07-30 16:40:52 -0700940AC_MSG_RESULT([JEMALLOC_PRIVATE_NAMESPACE])
941AC_MSG_RESULT([ : ${JEMALLOC_PRIVATE_NAMESPACE}])
Jason Evansb0fd5012010-01-17 01:49:20 -0800942AC_MSG_RESULT([install_suffix : ${install_suffix}])
Jason Evansb7924f52009-06-23 19:01:18 -0700943AC_MSG_RESULT([autogen : ${enable_autogen}])
Jason Evans355b4382010-09-20 19:20:48 -0700944AC_MSG_RESULT([cc-silence : ${enable_cc_silence}])
Jason Evansb7924f52009-06-23 19:01:18 -0700945AC_MSG_RESULT([debug : ${enable_debug}])
946AC_MSG_RESULT([stats : ${enable_stats}])
Jason Evans6109fe02010-02-10 10:37:56 -0800947AC_MSG_RESULT([prof : ${enable_prof}])
948AC_MSG_RESULT([prof-libunwind : ${enable_prof_libunwind}])
Jason Evans77f350b2011-03-15 22:23:12 -0700949AC_MSG_RESULT([prof-libgcc : ${enable_prof_libgcc}])
950AC_MSG_RESULT([prof-gcc : ${enable_prof_gcc}])
Jason Evansb7924f52009-06-23 19:01:18 -0700951AC_MSG_RESULT([tiny : ${enable_tiny}])
Jason Evans84cbbcb2009-12-29 00:09:15 -0800952AC_MSG_RESULT([tcache : ${enable_tcache}])
Jason Evansb7924f52009-06-23 19:01:18 -0700953AC_MSG_RESULT([fill : ${enable_fill}])
954AC_MSG_RESULT([xmalloc : ${enable_xmalloc}])
955AC_MSG_RESULT([sysv : ${enable_sysv}])
Jason Evans4201af02010-01-24 02:53:40 -0800956AC_MSG_RESULT([swap : ${enable_swap}])
Jason Evansb7924f52009-06-23 19:01:18 -0700957AC_MSG_RESULT([dss : ${enable_dss}])
958AC_MSG_RESULT([dynamic_page_shift : ${enable_dynamic_page_shift}])
959AC_MSG_RESULT([lazy_lock : ${enable_lazy_lock}])
Jason Evans2dbecf12010-09-05 10:35:13 -0700960AC_MSG_RESULT([tls : ${enable_tls}])
Jason Evansb7924f52009-06-23 19:01:18 -0700961AC_MSG_RESULT([===============================================================================])