blob: 91caef460b0d79fd64744ecb2510eeaf0313585d [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 Evansb1726102012-02-28 16:50:47 -0800370cfghdrs_in="${cfghdrs_in} ${srcroot}include/jemalloc/internal/size_classes.sh"
Jason Evansb0fd5012010-01-17 01:49:20 -0800371
Jason Evans376b1522010-02-11 14:45:59 -0800372cfghdrs_out="include/jemalloc/jemalloc_defs${install_suffix}.h"
Jason Evansb1726102012-02-28 16:50:47 -0800373cfghdrs_out="${cfghdrs_out} include/jemalloc/internal/size_classes.h"
Jason Evansb0fd5012010-01-17 01:49:20 -0800374
Jason Evans376b1522010-02-11 14:45:59 -0800375cfghdrs_tup="include/jemalloc/jemalloc_defs${install_suffix}.h:include/jemalloc/jemalloc_defs.h.in"
Jason Evansb0fd5012010-01-17 01:49:20 -0800376
Jason Evans355b4382010-09-20 19:20:48 -0700377dnl Do not silence irrelevant compiler warnings by default, since enabling this
378dnl option incurs a performance penalty.
379AC_ARG_ENABLE([cc-silence],
380 [AS_HELP_STRING([--enable-cc-silence],
381 [Silence irrelevant compiler warnings])],
382[if test "x$enable_cc_silence" = "xno" ; then
383 enable_cc_silence="0"
384else
385 enable_cc_silence="1"
386fi
387],
388[enable_cc_silence="0"]
389)
390if test "x$enable_cc_silence" = "x1" ; then
391 AC_DEFINE([JEMALLOC_CC_SILENCE])
392fi
393
Jason Evansb7924f52009-06-23 19:01:18 -0700394dnl Do not compile with debugging by default.
395AC_ARG_ENABLE([debug],
396 [AS_HELP_STRING([--enable-debug], [Build debugging code])],
397[if test "x$enable_debug" = "xno" ; then
398 enable_debug="0"
399else
400 enable_debug="1"
401fi
402],
403[enable_debug="0"]
404)
405if test "x$enable_debug" = "x1" ; then
406 AC_DEFINE([JEMALLOC_DEBUG], [ ])
Jason Evans2dbecf12010-09-05 10:35:13 -0700407 AC_DEFINE([JEMALLOC_IVSALLOC], [ ])
Jason Evansb7924f52009-06-23 19:01:18 -0700408fi
409AC_SUBST([enable_debug])
410
411dnl Only optimize if not debugging.
412if test "x$enable_debug" = "x0" -a "x$no_CFLAGS" = "xyes" ; then
413 dnl Make sure that an optimization flag was not specified in EXTRA_CFLAGS.
Jason Evansf3340ca2009-06-30 16:17:05 -0700414 optimize="no"
415 echo "$EXTRA_CFLAGS" | grep "\-O" >/dev/null || optimize="yes"
416 if test "x${optimize}" = "xyes" ; then
417 if test "x$GCC" = "xyes" ; then
418 JE_CFLAGS_APPEND([-O3])
419 JE_CFLAGS_APPEND([-funroll-loops])
Jason Evansf3340ca2009-06-30 16:17:05 -0700420 else
421 JE_CFLAGS_APPEND([-O])
422 fi
Jason Evansb7924f52009-06-23 19:01:18 -0700423 fi
424fi
425
426dnl Do not enable statistics calculation by default.
427AC_ARG_ENABLE([stats],
428 [AS_HELP_STRING([--enable-stats], [Enable statistics calculation/reporting])],
429[if test "x$enable_stats" = "xno" ; then
430 enable_stats="0"
431else
432 enable_stats="1"
433fi
434],
435[enable_stats="0"]
436)
437if test "x$enable_stats" = "x1" ; then
438 AC_DEFINE([JEMALLOC_STATS], [ ])
439fi
440AC_SUBST([enable_stats])
441
Jason Evans6109fe02010-02-10 10:37:56 -0800442dnl Do not enable profiling by default.
443AC_ARG_ENABLE([prof],
444 [AS_HELP_STRING([--enable-prof], [Enable allocation profiling])],
445[if test "x$enable_prof" = "xno" ; then
446 enable_prof="0"
447else
448 enable_prof="1"
449fi
450],
451[enable_prof="0"]
452)
Jason Evans77f350b2011-03-15 22:23:12 -0700453if test "x$enable_prof" = "x1" ; then
454 backtrace_method=""
Jason Evansb27805b2010-02-10 18:15:53 -0800455else
Jason Evans77f350b2011-03-15 22:23:12 -0700456 backtrace_method="N/A"
Jason Evansb27805b2010-02-10 18:15:53 -0800457fi
Jason Evans77f350b2011-03-15 22:23:12 -0700458
Jason Evans6109fe02010-02-10 10:37:56 -0800459AC_ARG_ENABLE([prof-libunwind],
460 [AS_HELP_STRING([--enable-prof-libunwind], [Use libunwind for backtracing])],
461[if test "x$enable_prof_libunwind" = "xno" ; then
462 enable_prof_libunwind="0"
463else
464 enable_prof_libunwind="1"
465fi
466],
467[enable_prof_libunwind="0"]
468)
Jason Evansca6bd4f2010-03-02 14:12:58 -0800469AC_ARG_WITH([static_libunwind],
470 [AS_HELP_STRING([--with-static-libunwind=<libunwind.a>],
471 [Path to static libunwind library; use rather than dynamically linking])],
472if test "x$with_static_libunwind" = "xno" ; then
473 LUNWIND="-lunwind"
474else
475 if test ! -f "$with_static_libunwind" ; then
476 AC_MSG_ERROR([Static libunwind not found: $with_static_libunwind])
477 fi
478 LUNWIND="$with_static_libunwind"
479fi,
480 LUNWIND="-lunwind"
481)
Jason Evans77f350b2011-03-15 22:23:12 -0700482if test "x$backtrace_method" = "x" -a "x$enable_prof_libunwind" = "x1" ; then
483 AC_CHECK_HEADERS([libunwind.h], , [enable_prof_libunwind="0"])
484 if test "x$LUNWIND" = "x-lunwind" ; then
485 AC_CHECK_LIB([unwind], [backtrace], [LIBS="$LIBS $LUNWIND"],
486 [enable_prof_libunwind="0"])
487 else
488 LIBS="$LIBS $LUNWIND"
489 fi
490 if test "x${enable_prof_libunwind}" = "x1" ; then
491 backtrace_method="libunwind"
492 AC_DEFINE([JEMALLOC_PROF_LIBUNWIND], [ ])
493 fi
494fi
495
496AC_ARG_ENABLE([prof-libgcc],
497 [AS_HELP_STRING([--disable-prof-libgcc],
498 [Do not use libgcc for backtracing])],
499[if test "x$enable_prof_libgcc" = "xno" ; then
500 enable_prof_libgcc="0"
501else
502 enable_prof_libgcc="1"
503fi
504],
505[enable_prof_libgcc="1"]
506)
507if test "x$backtrace_method" = "x" -a "x$enable_prof_libgcc" = "x1" \
508 -a "x$GCC" = "xyes" ; then
509 AC_CHECK_HEADERS([unwind.h], , [enable_prof_libgcc="0"])
510 AC_CHECK_LIB([gcc], [_Unwind_Backtrace], [LIBS="$LIBS -lgcc"], [enable_prof_libgcc="0"])
511 dnl The following is conservative, in that it only has entries for CPUs on
512 dnl which jemalloc has been tested.
513 AC_MSG_CHECKING([libgcc-based backtracing reliability on ${host_cpu}])
514 case "${host_cpu}" in
515 i[[3456]]86)
516 AC_MSG_RESULT([unreliable])
517 enable_prof_libgcc="0";
518 ;;
519 x86_64)
520 AC_MSG_RESULT([reliable])
521 ;;
522 *)
523 AC_MSG_RESULT([unreliable])
524 enable_prof_libgcc="0";
525 ;;
526 esac
527 if test "x${enable_prof_libgcc}" = "x1" ; then
528 backtrace_method="libgcc"
529 AC_DEFINE([JEMALLOC_PROF_LIBGCC], [ ])
530 fi
531else
532 enable_prof_libgcc="0"
533fi
534
535AC_ARG_ENABLE([prof-gcc],
536 [AS_HELP_STRING([--disable-prof-gcc],
537 [Do not use gcc intrinsics for backtracing])],
538[if test "x$enable_prof_gcc" = "xno" ; then
539 enable_prof_gcc="0"
540else
541 enable_prof_gcc="1"
542fi
543],
544[enable_prof_gcc="1"]
545)
546if test "x$backtrace_method" = "x" -a "x$enable_prof_gcc" = "x1" \
547 -a "x$GCC" = "xyes" ; then
548 backtrace_method="gcc intrinsics"
549 AC_DEFINE([JEMALLOC_PROF_GCC], [ ])
550else
551 enable_prof_gcc="0"
552fi
553
554if test "x$backtrace_method" = "x" ; then
555 backtrace_method="none (disabling profiling)"
556 enable_prof="0"
557fi
558AC_MSG_CHECKING([configured backtracing method])
559AC_MSG_RESULT([$backtrace_method])
Jason Evans2dbecf12010-09-05 10:35:13 -0700560if test "x$enable_prof" = "x1" ; then
Jason Evans2dbecf12010-09-05 10:35:13 -0700561 AC_DEFINE([JEMALLOC_PROF], [ ])
Jason Evans2dbecf12010-09-05 10:35:13 -0700562fi
563AC_SUBST([enable_prof])
Jason Evans2dbecf12010-09-05 10:35:13 -0700564
Jason Evans84cbbcb2009-12-29 00:09:15 -0800565dnl Enable thread-specific caching by default.
566AC_ARG_ENABLE([tcache],
567 [AS_HELP_STRING([--disable-tcache], [Disable per thread caches])],
568[if test "x$enable_tcache" = "xno" ; then
569 enable_tcache="0"
Jason Evansb7924f52009-06-23 19:01:18 -0700570else
Jason Evans84cbbcb2009-12-29 00:09:15 -0800571 enable_tcache="1"
Jason Evansb7924f52009-06-23 19:01:18 -0700572fi
573],
Jason Evans84cbbcb2009-12-29 00:09:15 -0800574[enable_tcache="1"]
Jason Evansb7924f52009-06-23 19:01:18 -0700575)
Jason Evans2dbecf12010-09-05 10:35:13 -0700576if test "x$enable_tcache" = "x1" ; then
577 AC_DEFINE([JEMALLOC_TCACHE], [ ])
578fi
579AC_SUBST([enable_tcache])
Jason Evansb7924f52009-06-23 19:01:18 -0700580
Jason Evansb7924f52009-06-23 19:01:18 -0700581dnl Do not enable allocation from DSS by default.
582AC_ARG_ENABLE([dss],
583 [AS_HELP_STRING([--enable-dss], [Enable allocation from DSS])],
584[if test "x$enable_dss" = "xno" ; then
585 enable_dss="0"
586else
587 enable_dss="1"
588fi
589],
590[enable_dss="0"]
591)
592if test "x$enable_dss" = "x1" ; then
593 AC_DEFINE([JEMALLOC_DSS], [ ])
594fi
595AC_SUBST([enable_dss])
596
597dnl Do not support the junk/zero filling option by default.
598AC_ARG_ENABLE([fill],
599 [AS_HELP_STRING([--enable-fill], [Support junk/zero filling option])],
600[if test "x$enable_fill" = "xno" ; then
601 enable_fill="0"
602else
603 enable_fill="1"
604fi
605],
606[enable_fill="0"]
607)
608if test "x$enable_fill" = "x1" ; then
609 AC_DEFINE([JEMALLOC_FILL], [ ])
610fi
611AC_SUBST([enable_fill])
612
613dnl Do not support the xmalloc option by default.
614AC_ARG_ENABLE([xmalloc],
615 [AS_HELP_STRING([--enable-xmalloc], [Support xmalloc option])],
616[if test "x$enable_xmalloc" = "xno" ; then
617 enable_xmalloc="0"
618else
619 enable_xmalloc="1"
620fi
621],
622[enable_xmalloc="0"]
623)
624if test "x$enable_xmalloc" = "x1" ; then
625 AC_DEFINE([JEMALLOC_XMALLOC], [ ])
626fi
627AC_SUBST([enable_xmalloc])
628
629dnl Do not support the SYSV option by default.
630AC_ARG_ENABLE([sysv],
631 [AS_HELP_STRING([--enable-sysv], [Support SYSV semantics option])],
632[if test "x$enable_sysv" = "xno" ; then
633 enable_sysv="0"
634else
635 enable_sysv="1"
636fi
637],
638[enable_sysv="0"]
639)
640if test "x$enable_sysv" = "x1" ; then
641 AC_DEFINE([JEMALLOC_SYSV], [ ])
642fi
643AC_SUBST([enable_sysv])
644
Jason Evansb7924f52009-06-23 19:01:18 -0700645AC_MSG_CHECKING([STATIC_PAGE_SHIFT])
646AC_RUN_IFELSE([AC_LANG_PROGRAM(
647[[#include <stdio.h>
648#include <unistd.h>
649#include <strings.h>
650]], [[
651 long result;
652 FILE *f;
653
654 result = sysconf(_SC_PAGESIZE);
655 if (result == -1) {
656 return 1;
657 }
658 f = fopen("conftest.out", "w");
659 if (f == NULL) {
660 return 1;
661 }
662 fprintf(f, "%u\n", ffs((int)result) - 1);
663 close(f);
664
665 return 0;
666]])],
667 [STATIC_PAGE_SHIFT=`cat conftest.out`]
668 AC_MSG_RESULT([$STATIC_PAGE_SHIFT])
669 AC_DEFINE_UNQUOTED([STATIC_PAGE_SHIFT], [$STATIC_PAGE_SHIFT]),
670 AC_MSG_RESULT([error]))
671
672dnl ============================================================================
673dnl jemalloc configuration.
674dnl
Jason Evansa40bc7a2010-03-02 13:01:16 -0800675
676dnl Set VERSION if source directory has an embedded git repository.
Jason Evans955851f2011-03-31 22:38:51 -0700677if test -d "${srcroot}.git" ; then
Jason Evans79d660d2010-09-17 17:38:24 -0700678 git describe --long --abbrev=40 > ${srcroot}VERSION
Jason Evansa40bc7a2010-03-02 13:01:16 -0800679fi
Jason Evansb7924f52009-06-23 19:01:18 -0700680jemalloc_version=`cat ${srcroot}VERSION`
Jason Evansa40bc7a2010-03-02 13:01:16 -0800681jemalloc_version_major=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]1}'`
682jemalloc_version_minor=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]2}'`
683jemalloc_version_bugfix=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]3}'`
684jemalloc_version_nrev=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]4}'`
685jemalloc_version_gid=`echo ${jemalloc_version} | tr ".g-" " " | awk '{print [$]5}'`
Jason Evansb7924f52009-06-23 19:01:18 -0700686AC_SUBST([jemalloc_version])
Jason Evansa40bc7a2010-03-02 13:01:16 -0800687AC_SUBST([jemalloc_version_major])
688AC_SUBST([jemalloc_version_minor])
689AC_SUBST([jemalloc_version_bugfix])
690AC_SUBST([jemalloc_version_nrev])
691AC_SUBST([jemalloc_version_gid])
Jason Evansb7924f52009-06-23 19:01:18 -0700692
693dnl ============================================================================
694dnl Configure pthreads.
695
696AC_CHECK_HEADERS([pthread.h], , [AC_MSG_ERROR([pthread.h is missing])])
697AC_CHECK_LIB([pthread], [pthread_create], [LIBS="$LIBS -lpthread"],
698 [AC_MSG_ERROR([libpthread is missing])])
699
700CPPFLAGS="$CPPFLAGS -D_REENTRANT"
701
Jason Evans0fee70d2012-02-13 12:36:11 -0800702dnl Disable lazy locking by default.
Jason Evansb7924f52009-06-23 19:01:18 -0700703AC_ARG_ENABLE([lazy_lock],
Jason Evans0fee70d2012-02-13 12:36:11 -0800704 [AS_HELP_STRING([--enable-lazy-lock],
705 [Enable lazy locking (only lock when multi-threaded)])],
Jason Evansb7924f52009-06-23 19:01:18 -0700706[if test "x$enable_lazy_lock" = "xno" ; then
707 enable_lazy_lock="0"
708else
709 enable_lazy_lock="1"
710fi
711],
Jason Evans0fee70d2012-02-13 12:36:11 -0800712[enable_lazy_lock="0"]
Jason Evansb7924f52009-06-23 19:01:18 -0700713)
714if test "x$enable_lazy_lock" = "x1" ; then
715 AC_CHECK_HEADERS([dlfcn.h], , [AC_MSG_ERROR([dlfcn.h is missing])])
716 AC_CHECK_LIB([dl], [dlopen], [LIBS="$LIBS -ldl"],
717 [AC_MSG_ERROR([libdl is missing])])
718 AC_DEFINE([JEMALLOC_LAZY_LOCK], [ ])
719fi
720AC_SUBST([enable_lazy_lock])
721
Jason Evans78d815c2010-01-17 14:06:20 -0800722AC_ARG_ENABLE([tls],
723 [AS_HELP_STRING([--disable-tls], [Disable thread-local storage (__thread keyword)])],
724if test "x$enable_tls" = "xno" ; then
725 enable_tls="0"
726else
727 enable_tls="1"
728fi
729,
730enable_tls="1"
731)
732if test "x${enable_tls}" = "x1" ; then
733AC_MSG_CHECKING([for TLS])
734AC_RUN_IFELSE([AC_LANG_PROGRAM(
735[[
736 __thread int x;
737]], [[
738 x = 42;
739
740 return 0;
741]])],
742 AC_MSG_RESULT([yes]),
743 AC_MSG_RESULT([no])
744 enable_tls="0")
745fi
Jason Evansb267d0f2010-08-13 15:42:29 -0700746AC_SUBST([enable_tls])
Jason Evans78d815c2010-01-17 14:06:20 -0800747if test "x${enable_tls}" = "x0" ; then
748 AC_DEFINE_UNQUOTED([NO_TLS], [ ])
749fi
750
Jason Evans2dbecf12010-09-05 10:35:13 -0700751dnl ============================================================================
Jason Evans84c8eef2011-03-16 10:30:13 -0700752dnl Check for ffsl(3), and fail if not found. This function exists on all
753dnl platforms that jemalloc currently has a chance of functioning on without
754dnl modification.
755
756AC_CHECK_FUNC([ffsl], [],
757 [AC_MSG_ERROR([Cannot build without ffsl(3)])])
758
759dnl ============================================================================
Jason Evans763baa62011-03-18 19:10:31 -0700760dnl Check for atomic(3) operations as provided on Darwin.
761
762JE_COMPILABLE([Darwin OSAtomic*()], [
763#include <libkern/OSAtomic.h>
764#include <inttypes.h>
765], [
766 {
767 int32_t x32 = 0;
768 volatile int32_t *x32p = &x32;
769 OSAtomicAdd32(1, x32p);
770 }
771 {
772 int64_t x64 = 0;
773 volatile int64_t *x64p = &x64;
774 OSAtomicAdd64(1, x64p);
775 }
776], [osatomic])
777if test "x${osatomic}" = "xyes" ; then
778 AC_DEFINE([JEMALLOC_OSATOMIC])
779fi
780
781dnl ============================================================================
Jason Evans893a0ed2011-03-18 19:30:18 -0700782dnl Check for spinlock(3) operations as provided on Darwin.
783
784JE_COMPILABLE([Darwin OSSpin*()], [
785#include <libkern/OSAtomic.h>
786#include <inttypes.h>
787], [
788 OSSpinLock lock = 0;
789 OSSpinLockLock(&lock);
790 OSSpinLockUnlock(&lock);
791], [osspin])
792if test "x${osspin}" = "xyes" ; then
793 AC_DEFINE([JEMALLOC_OSSPIN])
794fi
795
796dnl ============================================================================
Jason Evans6a0d2912010-09-20 16:44:23 -0700797dnl Check for allocator-related functions that should be wrapped.
798
799AC_CHECK_FUNC([memalign],
800 [AC_DEFINE([JEMALLOC_OVERRIDE_MEMALIGN])])
801AC_CHECK_FUNC([valloc],
802 [AC_DEFINE([JEMALLOC_OVERRIDE_VALLOC])])
803
804dnl ============================================================================
Jason Evans2dbecf12010-09-05 10:35:13 -0700805dnl Darwin-related configuration.
Jason Evans78d815c2010-01-17 14:06:20 -0800806
Jason Evans2dbecf12010-09-05 10:35:13 -0700807if test "x${abi}" = "xmacho" ; then
808 AC_DEFINE([JEMALLOC_IVSALLOC])
809 AC_DEFINE([JEMALLOC_ZONE])
Jason Evans6109fe02010-02-10 10:37:56 -0800810
Jason Evans2dbecf12010-09-05 10:35:13 -0700811 dnl The szone version jumped from 3 to 6 between the OS X 10.5.x and 10.6
812 dnl releases. malloc_zone_t and malloc_introspection_t have new fields in
813 dnl 10.6, which is the only source-level indication of the change.
814 AC_MSG_CHECKING([malloc zone version])
815 AC_TRY_COMPILE([#include <stdlib.h>
816#include <malloc/malloc.h>], [
817 static malloc_zone_t zone;
818 static struct malloc_introspection_t zone_introspect;
819
820 zone.size = NULL;
821 zone.malloc = NULL;
822 zone.calloc = NULL;
823 zone.valloc = NULL;
824 zone.free = NULL;
825 zone.realloc = NULL;
826 zone.destroy = NULL;
827 zone.zone_name = "jemalloc_zone";
828 zone.batch_malloc = NULL;
829 zone.batch_free = NULL;
830 zone.introspect = &zone_introspect;
831 zone.version = 6;
832 zone.memalign = NULL;
833 zone.free_definite_size = NULL;
834
835 zone_introspect.enumerator = NULL;
836 zone_introspect.good_size = NULL;
837 zone_introspect.check = NULL;
838 zone_introspect.print = NULL;
839 zone_introspect.log = NULL;
840 zone_introspect.force_lock = NULL;
841 zone_introspect.force_unlock = NULL;
842 zone_introspect.statistics = NULL;
843 zone_introspect.zone_locked = NULL;
844], [AC_DEFINE_UNQUOTED([JEMALLOC_ZONE_VERSION], [6])
845 AC_MSG_RESULT([6])],
846 [AC_DEFINE_UNQUOTED([JEMALLOC_ZONE_VERSION], [3])
847 AC_MSG_RESULT([3])])
Jason Evansb27805b2010-02-10 18:15:53 -0800848fi
849
Jason Evansb7924f52009-06-23 19:01:18 -0700850dnl ============================================================================
851dnl Check for typedefs, structures, and compiler characteristics.
852AC_HEADER_STDBOOL
853
Jason Evansb1726102012-02-28 16:50:47 -0800854AC_CONFIG_COMMANDS([include/jemalloc/internal/size_classes.h], [
855 mkdir -p "include/jemalloc/internal"
856 "${srcdir}/include/jemalloc/internal/size_classes.sh" > "${objroot}include/jemalloc/internal/size_classes.h"
857])
858
Jason Evansb7924f52009-06-23 19:01:18 -0700859dnl Process .in files.
Jason Evansb0fd5012010-01-17 01:49:20 -0800860AC_SUBST([cfghdrs_in])
861AC_SUBST([cfghdrs_out])
Jason Evans0656ec02010-04-07 23:37:35 -0700862AC_CONFIG_HEADERS([$cfghdrs_tup])
Jason Evansb7924f52009-06-23 19:01:18 -0700863
864dnl ============================================================================
865dnl Generate outputs.
Antony Dovgal2bd3cbc2011-10-13 09:33:33 +0400866AC_CONFIG_FILES([$cfgoutputs_tup config.stamp bin/jemalloc.sh])
Jason Evansb0fd5012010-01-17 01:49:20 -0800867AC_SUBST([cfgoutputs_in])
868AC_SUBST([cfgoutputs_out])
Jason Evansb7924f52009-06-23 19:01:18 -0700869AC_OUTPUT
870
871dnl ============================================================================
872dnl Print out the results of configuration.
873AC_MSG_RESULT([===============================================================================])
Jason Evansf576c632011-11-01 22:27:41 -0700874AC_MSG_RESULT([jemalloc version : ${jemalloc_version}])
875AC_MSG_RESULT([library revision : ${rev}])
Jason Evansb7924f52009-06-23 19:01:18 -0700876AC_MSG_RESULT([])
877AC_MSG_RESULT([CC : ${CC}])
878AC_MSG_RESULT([CPPFLAGS : ${CPPFLAGS}])
879AC_MSG_RESULT([CFLAGS : ${CFLAGS}])
880AC_MSG_RESULT([LDFLAGS : ${LDFLAGS}])
881AC_MSG_RESULT([LIBS : ${LIBS}])
882AC_MSG_RESULT([RPATH_EXTRA : ${RPATH_EXTRA}])
883AC_MSG_RESULT([])
Jason Evansaee7fd22010-11-24 22:00:02 -0800884AC_MSG_RESULT([XSLTPROC : ${XSLTPROC}])
885AC_MSG_RESULT([XSLROOT : ${XSLROOT}])
886AC_MSG_RESULT([])
Jason Evansb7924f52009-06-23 19:01:18 -0700887AC_MSG_RESULT([PREFIX : ${PREFIX}])
888AC_MSG_RESULT([BINDIR : ${BINDIR}])
Jason Evans662a0172009-07-01 19:24:31 -0700889AC_MSG_RESULT([INCLUDEDIR : ${INCLUDEDIR}])
890AC_MSG_RESULT([LIBDIR : ${LIBDIR}])
Jason Evansb7924f52009-06-23 19:01:18 -0700891AC_MSG_RESULT([DATADIR : ${DATADIR}])
892AC_MSG_RESULT([MANDIR : ${MANDIR}])
893AC_MSG_RESULT([])
894AC_MSG_RESULT([srcroot : ${srcroot}])
895AC_MSG_RESULT([abs_srcroot : ${abs_srcroot}])
896AC_MSG_RESULT([objroot : ${objroot}])
897AC_MSG_RESULT([abs_objroot : ${abs_objroot}])
898AC_MSG_RESULT([])
Jason Evans90895cf2009-12-29 00:09:15 -0800899AC_MSG_RESULT([JEMALLOC_PREFIX : ${JEMALLOC_PREFIX}])
Jason Evans746e77a2011-07-30 16:40:52 -0700900AC_MSG_RESULT([JEMALLOC_PRIVATE_NAMESPACE])
901AC_MSG_RESULT([ : ${JEMALLOC_PRIVATE_NAMESPACE}])
Jason Evansb0fd5012010-01-17 01:49:20 -0800902AC_MSG_RESULT([install_suffix : ${install_suffix}])
Jason Evansb7924f52009-06-23 19:01:18 -0700903AC_MSG_RESULT([autogen : ${enable_autogen}])
Jason Evans355b4382010-09-20 19:20:48 -0700904AC_MSG_RESULT([cc-silence : ${enable_cc_silence}])
Jason Evansb7924f52009-06-23 19:01:18 -0700905AC_MSG_RESULT([debug : ${enable_debug}])
906AC_MSG_RESULT([stats : ${enable_stats}])
Jason Evans6109fe02010-02-10 10:37:56 -0800907AC_MSG_RESULT([prof : ${enable_prof}])
908AC_MSG_RESULT([prof-libunwind : ${enable_prof_libunwind}])
Jason Evans77f350b2011-03-15 22:23:12 -0700909AC_MSG_RESULT([prof-libgcc : ${enable_prof_libgcc}])
910AC_MSG_RESULT([prof-gcc : ${enable_prof_gcc}])
Jason Evans84cbbcb2009-12-29 00:09:15 -0800911AC_MSG_RESULT([tcache : ${enable_tcache}])
Jason Evansb7924f52009-06-23 19:01:18 -0700912AC_MSG_RESULT([fill : ${enable_fill}])
913AC_MSG_RESULT([xmalloc : ${enable_xmalloc}])
914AC_MSG_RESULT([sysv : ${enable_sysv}])
Jason Evansb7924f52009-06-23 19:01:18 -0700915AC_MSG_RESULT([dss : ${enable_dss}])
916AC_MSG_RESULT([dynamic_page_shift : ${enable_dynamic_page_shift}])
917AC_MSG_RESULT([lazy_lock : ${enable_lazy_lock}])
Jason Evans2dbecf12010-09-05 10:35:13 -0700918AC_MSG_RESULT([tls : ${enable_tls}])
Jason Evansb7924f52009-06-23 19:01:18 -0700919AC_MSG_RESULT([===============================================================================])