Hex Artifact Content
Not logged in

Artifact 9850e60ce048df7014de490b043a5a72ceed5daa:


0000: 64 6e 6c 20 50 72 6f 63 65 73 73 20 74 68 69 73  dnl Process this
0010: 20 66 69 6c 65 20 77 69 74 68 20 61 75 74 6f 63   file with autoc
0020: 6f 6e 66 20 74 6f 20 70 72 6f 64 75 63 65 20 61  onf to produce a
0030: 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70   configure scrip
0040: 74 2e 0a 41 43 5f 49 4e 49 54 28 5b 4d 61 6b 65  t..AC_INIT([Make
0050: 66 69 6c 65 2e 69 6e 5d 29 0a 0a 41 43 5f 43 4f  file.in])..AC_CO
0060: 4e 46 49 47 5f 41 55 58 5f 44 49 52 28 5b 62 75  NFIG_AUX_DIR([bu
0070: 69 6c 64 2d 61 75 78 5d 29 0a 0a 64 6e 6c 20 3d  ild-aux])..dnl =
0080: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0090: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 64 6e 6c 20  ===========.dnl 
00d0: 43 75 73 74 6f 6d 20 6d 61 63 72 6f 20 64 65 66  Custom macro def
00e0: 69 6e 69 74 69 6f 6e 73 2e 0a 0a 64 6e 6c 20 4a  initions...dnl J
00f0: 45 5f 43 4f 4e 43 41 54 5f 56 56 56 28 72 2c 20  E_CONCAT_VVV(r, 
0100: 61 2c 20 62 29 0a 64 6e 6c 20 0a 64 6e 6c 20 53  a, b).dnl .dnl S
0110: 65 74 20 24 72 20 74 6f 20 74 68 65 20 63 6f 6e  et $r to the con
0120: 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 24 61  catenation of $a
0130: 20 61 6e 64 20 24 62 2c 20 77 69 74 68 20 61 20   and $b, with a 
0140: 73 70 61 63 65 20 73 65 70 61 72 61 74 69 6e 67  space separating
0150: 20 74 68 65 6d 20 69 66 66 0a 64 6e 6c 20 62 6f   them iff.dnl bo
0160: 74 68 20 24 61 20 61 6e 64 20 24 62 20 61 72 65  th $a and $b are
0170: 20 6e 6f 6e 2d 65 6d 74 79 2e 0a 41 43 5f 44 45   non-emty..AC_DE
0180: 46 55 4e 28 5b 4a 45 5f 43 4f 4e 43 41 54 5f 56  FUN([JE_CONCAT_V
0190: 56 56 5d 2c 0a 69 66 20 74 65 73 74 20 22 78 5b  VV],.if test "x[
01a0: 24 5d 7b 24 32 7d 22 20 3d 20 22 78 22 20 2d 6f  $]{$2}" = "x" -o
01b0: 20 22 78 5b 24 5d 7b 24 33 7d 22 20 3d 20 22 78   "x[$]{$3}" = "x
01c0: 22 20 3b 20 74 68 65 6e 0a 20 20 24 31 3d 22 5b  " ; then.  $1="[
01d0: 24 5d 7b 24 32 7d 5b 24 5d 7b 24 33 7d 22 0a 65  $]{$2}[$]{$3}".e
01e0: 6c 73 65 0a 20 20 24 31 3d 22 5b 24 5d 7b 24 32  lse.  $1="[$]{$2
01f0: 7d 20 5b 24 5d 7b 24 33 7d 22 0a 66 69 0a 29 0a  } [$]{$3}".fi.).
0200: 0a 64 6e 6c 20 4a 45 5f 41 50 50 45 4e 44 5f 56  .dnl JE_APPEND_V
0210: 53 28 61 2c 20 62 29 0a 64 6e 6c 20 0a 64 6e 6c  S(a, b).dnl .dnl
0220: 20 53 65 74 20 24 61 20 74 6f 20 74 68 65 20 63   Set $a to the c
0230: 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20  oncatenation of 
0240: 24 61 20 61 6e 64 20 62 2c 20 77 69 74 68 20 61  $a and b, with a
0250: 20 73 70 61 63 65 20 73 65 70 61 72 61 74 69 6e   space separatin
0260: 67 20 74 68 65 6d 20 69 66 66 0a 64 6e 6c 20 62  g them iff.dnl b
0270: 6f 74 68 20 24 61 20 61 6e 64 20 62 20 61 72 65  oth $a and b are
0280: 20 6e 6f 6e 2d 65 6d 70 74 79 2e 0a 41 43 5f 44   non-empty..AC_D
0290: 45 46 55 4e 28 5b 4a 45 5f 41 50 50 45 4e 44 5f  EFUN([JE_APPEND_
02a0: 56 53 5d 2c 0a 20 20 54 5f 41 50 50 45 4e 44 5f  VS],.  T_APPEND_
02b0: 56 3d 24 32 0a 20 20 4a 45 5f 43 4f 4e 43 41 54  V=$2.  JE_CONCAT
02c0: 5f 56 56 56 28 24 31 2c 20 24 31 2c 20 54 5f 41  _VVV($1, $1, T_A
02d0: 50 50 45 4e 44 5f 56 29 0a 29 0a 0a 43 4f 4e 46  PPEND_V).)..CONF
02e0: 49 47 55 52 45 5f 43 46 4c 41 47 53 3d 0a 53 50  IGURE_CFLAGS=.SP
02f0: 45 43 49 46 49 45 44 5f 43 46 4c 41 47 53 3d 22  ECIFIED_CFLAGS="
0300: 24 7b 43 46 4c 41 47 53 7d 22 0a 64 6e 6c 20 4a  ${CFLAGS}".dnl J
0310: 45 5f 43 46 4c 41 47 53 5f 41 44 44 28 63 66 6c  E_CFLAGS_ADD(cfl
0320: 61 67 29 0a 64 6e 6c 20 0a 64 6e 6c 20 43 46 4c  ag).dnl .dnl CFL
0330: 41 47 53 20 69 73 20 74 68 65 20 63 6f 6e 63 61  AGS is the conca
0340: 74 65 6e 61 74 69 6f 6e 20 6f 66 20 43 4f 4e 46  tenation of CONF
0350: 49 47 55 52 45 5f 43 46 4c 41 47 53 20 61 6e 64  IGURE_CFLAGS and
0360: 20 53 50 45 43 49 46 49 45 44 5f 43 46 4c 41 47   SPECIFIED_CFLAG
0370: 53 0a 64 6e 6c 20 28 69 67 6e 6f 72 69 6e 67 20  S.dnl (ignoring 
0380: 45 58 54 52 41 5f 43 46 4c 41 47 53 2c 20 77 68  EXTRA_CFLAGS, wh
0390: 69 63 68 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70  ich does not imp
03a0: 61 63 74 20 63 6f 6e 66 69 67 75 72 65 20 74 65  act configure te
03b0: 73 74 73 2e 20 20 54 68 69 73 20 6d 61 63 72 6f  sts.  This macro
03c0: 0a 64 6e 6c 20 61 70 70 65 6e 64 73 20 74 6f 20  .dnl appends to 
03d0: 43 4f 4e 46 49 47 55 52 45 5f 43 46 4c 41 47 53  CONFIGURE_CFLAGS
03e0: 20 61 6e 64 20 72 65 67 65 6e 65 72 61 74 65 73   and regenerates
03f0: 20 43 46 4c 41 47 53 2e 0a 41 43 5f 44 45 46 55   CFLAGS..AC_DEFU
0400: 4e 28 5b 4a 45 5f 43 46 4c 41 47 53 5f 41 44 44  N([JE_CFLAGS_ADD
0410: 5d 2c 0a 5b 0a 41 43 5f 4d 53 47 5f 43 48 45 43  ],.[.AC_MSG_CHEC
0420: 4b 49 4e 47 28 5b 77 68 65 74 68 65 72 20 63 6f  KING([whether co
0430: 6d 70 69 6c 65 72 20 73 75 70 70 6f 72 74 73 20  mpiler supports 
0440: 24 31 5d 29 0a 54 5f 43 4f 4e 46 49 47 55 52 45  $1]).T_CONFIGURE
0450: 5f 43 46 4c 41 47 53 3d 22 24 7b 43 4f 4e 46 49  _CFLAGS="${CONFI
0460: 47 55 52 45 5f 43 46 4c 41 47 53 7d 22 0a 4a 45  GURE_CFLAGS}".JE
0470: 5f 41 50 50 45 4e 44 5f 56 53 28 43 4f 4e 46 49  _APPEND_VS(CONFI
0480: 47 55 52 45 5f 43 46 4c 41 47 53 2c 20 24 31 29  GURE_CFLAGS, $1)
0490: 0a 4a 45 5f 43 4f 4e 43 41 54 5f 56 56 56 28 43  .JE_CONCAT_VVV(C
04a0: 46 4c 41 47 53 2c 20 43 4f 4e 46 49 47 55 52 45  FLAGS, CONFIGURE
04b0: 5f 43 46 4c 41 47 53 2c 20 53 50 45 43 49 46 49  _CFLAGS, SPECIFI
04c0: 45 44 5f 43 46 4c 41 47 53 29 0a 41 43 5f 43 4f  ED_CFLAGS).AC_CO
04d0: 4d 50 49 4c 45 5f 49 46 45 4c 53 45 28 5b 41 43  MPILE_IFELSE([AC
04e0: 5f 4c 41 4e 47 5f 50 52 4f 47 52 41 4d 28 0a 5b  _LANG_PROGRAM(.[
04f0: 5b 0a 5d 5d 2c 20 5b 5b 0a 20 20 20 20 72 65 74  [.]], [[.    ret
0500: 75 72 6e 20 30 3b 0a 5d 5d 29 5d 2c 0a 20 20 20  urn 0;.]])],.   
0510: 20 20 20 20 20 20 20 20 20 20 20 5b 6a 65 5f 63             [je_c
0520: 76 5f 63 66 6c 61 67 73 5f 61 64 64 65 64 3d 24  v_cflags_added=$
0530: 31 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  1].             
0540: 20 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b   AC_MSG_RESULT([
0550: 79 65 73 5d 29 2c 0a 20 20 20 20 20 20 20 20 20  yes]),.         
0560: 20 20 20 20 20 5b 6a 65 5f 63 76 5f 63 66 6c 61       [je_cv_cfla
0570: 67 73 5f 61 64 64 65 64 3d 5d 0a 20 20 20 20 20  gs_added=].     
0580: 20 20 20 20 20 20 20 20 20 41 43 5f 4d 53 47 5f           AC_MSG_
0590: 52 45 53 55 4c 54 28 5b 6e 6f 5d 29 0a 20 20 20  RESULT([no]).   
05a0: 20 20 20 20 20 20 20 20 20 20 20 5b 43 4f 4e 46             [CONF
05b0: 49 47 55 52 45 5f 43 46 4c 41 47 53 3d 22 24 7b  IGURE_CFLAGS="${
05c0: 54 5f 43 4f 4e 46 49 47 55 52 45 5f 43 46 4c 41  T_CONFIGURE_CFLA
05d0: 47 53 7d 22 5d 0a 29 0a 4a 45 5f 43 4f 4e 43 41  GS}"].).JE_CONCA
05e0: 54 5f 56 56 56 28 43 46 4c 41 47 53 2c 20 43 4f  T_VVV(CFLAGS, CO
05f0: 4e 46 49 47 55 52 45 5f 43 46 4c 41 47 53 2c 20  NFIGURE_CFLAGS, 
0600: 53 50 45 43 49 46 49 45 44 5f 43 46 4c 41 47 53  SPECIFIED_CFLAGS
0610: 29 0a 5d 29 0a 0a 64 6e 6c 20 4a 45 5f 43 46 4c  ).])..dnl JE_CFL
0620: 41 47 53 5f 53 41 56 45 28 29 0a 64 6e 6c 20 4a  AGS_SAVE().dnl J
0630: 45 5f 43 46 4c 41 47 53 5f 52 45 53 54 4f 52 45  E_CFLAGS_RESTORE
0640: 28 29 0a 64 6e 6c 20 0a 64 6e 6c 20 53 61 76 65  ().dnl .dnl Save
0650: 2f 72 65 73 74 6f 72 65 20 43 46 4c 41 47 53 2e  /restore CFLAGS.
0660: 20 20 4e 65 73 74 69 6e 67 20 69 73 20 6e 6f 74    Nesting is not
0670: 20 73 75 70 70 6f 72 74 65 64 2e 0a 41 43 5f 44   supported..AC_D
0680: 45 46 55 4e 28 5b 4a 45 5f 43 46 4c 41 47 53 5f  EFUN([JE_CFLAGS_
0690: 53 41 56 45 5d 2c 0a 53 41 56 45 44 5f 43 4f 4e  SAVE],.SAVED_CON
06a0: 46 49 47 55 52 45 5f 43 46 4c 41 47 53 3d 22 24  FIGURE_CFLAGS="$
06b0: 7b 43 4f 4e 46 49 47 55 52 45 5f 43 46 4c 41 47  {CONFIGURE_CFLAG
06c0: 53 7d 22 0a 29 0a 41 43 5f 44 45 46 55 4e 28 5b  S}".).AC_DEFUN([
06d0: 4a 45 5f 43 46 4c 41 47 53 5f 52 45 53 54 4f 52  JE_CFLAGS_RESTOR
06e0: 45 5d 2c 0a 43 4f 4e 46 49 47 55 52 45 5f 43 46  E],.CONFIGURE_CF
06f0: 4c 41 47 53 3d 22 24 7b 53 41 56 45 44 5f 43 4f  LAGS="${SAVED_CO
0700: 4e 46 49 47 55 52 45 5f 43 46 4c 41 47 53 7d 22  NFIGURE_CFLAGS}"
0710: 0a 4a 45 5f 43 4f 4e 43 41 54 5f 56 56 56 28 43  .JE_CONCAT_VVV(C
0720: 46 4c 41 47 53 2c 20 43 4f 4e 46 49 47 55 52 45  FLAGS, CONFIGURE
0730: 5f 43 46 4c 41 47 53 2c 20 53 50 45 43 49 46 49  _CFLAGS, SPECIFI
0740: 45 44 5f 43 46 4c 41 47 53 29 0a 29 0a 0a 64 6e  ED_CFLAGS).)..dn
0750: 6c 20 4a 45 5f 43 4f 4d 50 49 4c 41 42 4c 45 28  l JE_COMPILABLE(
0760: 6c 61 62 65 6c 2c 20 68 63 6f 64 65 2c 20 6d 63  label, hcode, mc
0770: 6f 64 65 2c 20 72 76 61 72 29 0a 64 6e 6c 20 0a  ode, rvar).dnl .
0780: 64 6e 6c 20 55 73 65 20 41 43 5f 4c 49 4e 4b 5f  dnl Use AC_LINK_
0790: 49 46 45 4c 53 45 28 29 20 72 61 74 68 65 72 20  IFELSE() rather 
07a0: 74 68 61 6e 20 41 43 5f 43 4f 4d 50 49 4c 45 5f  than AC_COMPILE_
07b0: 49 46 45 4c 53 45 28 29 20 73 6f 20 74 68 61 74  IFELSE() so that
07c0: 20 6c 69 6e 6b 65 72 20 65 72 72 6f 72 73 0a 64   linker errors.d
07d0: 6e 6c 20 63 61 75 73 65 20 66 61 69 6c 75 72 65  nl cause failure
07e0: 2e 0a 41 43 5f 44 45 46 55 4e 28 5b 4a 45 5f 43  ..AC_DEFUN([JE_C
07f0: 4f 4d 50 49 4c 41 42 4c 45 5d 2c 0a 5b 0a 41 43  OMPILABLE],.[.AC
0800: 5f 43 41 43 48 45 5f 43 48 45 43 4b 28 5b 77 68  _CACHE_CHECK([wh
0810: 65 74 68 65 72 20 24 31 20 69 73 20 63 6f 6d 70  ether $1 is comp
0820: 69 6c 61 62 6c 65 5d 2c 0a 20 20 20 20 20 20 20  ilable],.       
0830: 20 20 20 20 20 20 20 20 5b 24 34 5d 2c 0a 20 20          [$4],.  
0840: 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 41 43               [AC
0850: 5f 4c 49 4e 4b 5f 49 46 45 4c 53 45 28 5b 41 43  _LINK_IFELSE([AC
0860: 5f 4c 41 4e 47 5f 50 52 4f 47 52 41 4d 28 5b 24  _LANG_PROGRAM([$
0870: 32 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  2],.            
0880: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0890: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
08a0: 20 20 20 20 5b 24 33 5d 29 5d 2c 0a 20 20 20 20      [$3])],.    
08b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
08c0: 20 20 20 20 20 20 20 20 20 20 20 5b 24 34 3d 79             [$4=y
08d0: 65 73 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  es],.           
08e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
08f0: 20 20 20 20 5b 24 34 3d 6e 6f 5d 29 5d 29 0a 5d      [$4=no])]).]
0900: 29 0a 0a 64 6e 6c 20 3d 3d 3d 3d 3d 3d 3d 3d 3d  )..dnl =========
0910: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0920: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0930: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0940: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0950: 3d 3d 3d 0a 0a 43 4f 4e 46 49 47 3d 60 65 63 68  ===..CONFIG=`ech
0960: 6f 20 24 7b 61 63 5f 63 6f 6e 66 69 67 75 72 65  o ${ac_configure
0970: 5f 61 72 67 73 7d 20 7c 20 73 65 64 20 2d 65 20  _args} | sed -e 
0980: 27 73 23 27 22 27 22 27 5c 28 5b 5e 20 5d 2a 5c  's#'"'"'\([^ ]*\
0990: 29 27 22 27 22 27 23 5c 31 23 67 27 60 0a 41 43  )'"'"'#\1#g'`.AC
09a0: 5f 53 55 42 53 54 28 5b 43 4f 4e 46 49 47 5d 29  _SUBST([CONFIG])
09b0: 0a 0a 64 6e 6c 20 4c 69 62 72 61 72 79 20 72 65  ..dnl Library re
09c0: 76 69 73 69 6f 6e 2e 0a 72 65 76 3d 32 0a 41 43  vision..rev=2.AC
09d0: 5f 53 55 42 53 54 28 5b 72 65 76 5d 29 0a 0a 73  _SUBST([rev])..s
09e0: 72 63 72 6f 6f 74 3d 24 73 72 63 64 69 72 0a 69  rcroot=$srcdir.i
09f0: 66 20 74 65 73 74 20 22 78 24 7b 73 72 63 72 6f  f test "x${srcro
0a00: 6f 74 7d 22 20 3d 20 22 78 2e 22 20 3b 20 74 68  ot}" = "x." ; th
0a10: 65 6e 0a 20 20 73 72 63 72 6f 6f 74 3d 22 22 0a  en.  srcroot="".
0a20: 65 6c 73 65 0a 20 20 73 72 63 72 6f 6f 74 3d 22  else.  srcroot="
0a30: 24 7b 73 72 63 72 6f 6f 74 7d 2f 22 0a 66 69 0a  ${srcroot}/".fi.
0a40: 41 43 5f 53 55 42 53 54 28 5b 73 72 63 72 6f 6f  AC_SUBST([srcroo
0a50: 74 5d 29 0a 61 62 73 5f 73 72 63 72 6f 6f 74 3d  t]).abs_srcroot=
0a60: 22 60 63 64 20 5c 22 24 7b 73 72 63 64 69 72 7d  "`cd \"${srcdir}
0a70: 5c 22 3b 20 70 77 64 60 2f 22 0a 41 43 5f 53 55  \"; pwd`/".AC_SU
0a80: 42 53 54 28 5b 61 62 73 5f 73 72 63 72 6f 6f 74  BST([abs_srcroot
0a90: 5d 29 0a 0a 6f 62 6a 72 6f 6f 74 3d 22 22 0a 41  ])..objroot="".A
0aa0: 43 5f 53 55 42 53 54 28 5b 6f 62 6a 72 6f 6f 74  C_SUBST([objroot
0ab0: 5d 29 0a 61 62 73 5f 6f 62 6a 72 6f 6f 74 3d 22  ]).abs_objroot="
0ac0: 60 70 77 64 60 2f 22 0a 41 43 5f 53 55 42 53 54  `pwd`/".AC_SUBST
0ad0: 28 5b 61 62 73 5f 6f 62 6a 72 6f 6f 74 5d 29 0a  ([abs_objroot]).
0ae0: 0a 64 6e 6c 20 4d 75 6e 67 65 20 69 6e 73 74 61  .dnl Munge insta
0af0: 6c 6c 20 70 61 74 68 20 76 61 72 69 61 62 6c 65  ll path variable
0b00: 73 2e 0a 69 66 20 74 65 73 74 20 22 78 24 70 72  s..if test "x$pr
0b10: 65 66 69 78 22 20 3d 20 22 78 4e 4f 4e 45 22 20  efix" = "xNONE" 
0b20: 3b 20 74 68 65 6e 0a 20 20 70 72 65 66 69 78 3d  ; then.  prefix=
0b30: 22 2f 75 73 72 2f 6c 6f 63 61 6c 22 0a 66 69 0a  "/usr/local".fi.
0b40: 69 66 20 74 65 73 74 20 22 78 24 65 78 65 63 5f  if test "x$exec_
0b50: 70 72 65 66 69 78 22 20 3d 20 22 78 4e 4f 4e 45  prefix" = "xNONE
0b60: 22 20 3b 20 74 68 65 6e 0a 20 20 65 78 65 63 5f  " ; then.  exec_
0b70: 70 72 65 66 69 78 3d 24 70 72 65 66 69 78 0a 66  prefix=$prefix.f
0b80: 69 0a 50 52 45 46 49 58 3d 24 70 72 65 66 69 78  i.PREFIX=$prefix
0b90: 0a 41 43 5f 53 55 42 53 54 28 5b 50 52 45 46 49  .AC_SUBST([PREFI
0ba0: 58 5d 29 0a 42 49 4e 44 49 52 3d 60 65 76 61 6c  X]).BINDIR=`eval
0bb0: 20 65 63 68 6f 20 24 62 69 6e 64 69 72 60 0a 42   echo $bindir`.B
0bc0: 49 4e 44 49 52 3d 60 65 76 61 6c 20 65 63 68 6f  INDIR=`eval echo
0bd0: 20 24 42 49 4e 44 49 52 60 0a 41 43 5f 53 55 42   $BINDIR`.AC_SUB
0be0: 53 54 28 5b 42 49 4e 44 49 52 5d 29 0a 49 4e 43  ST([BINDIR]).INC
0bf0: 4c 55 44 45 44 49 52 3d 60 65 76 61 6c 20 65 63  LUDEDIR=`eval ec
0c00: 68 6f 20 24 69 6e 63 6c 75 64 65 64 69 72 60 0a  ho $includedir`.
0c10: 49 4e 43 4c 55 44 45 44 49 52 3d 60 65 76 61 6c  INCLUDEDIR=`eval
0c20: 20 65 63 68 6f 20 24 49 4e 43 4c 55 44 45 44 49   echo $INCLUDEDI
0c30: 52 60 0a 41 43 5f 53 55 42 53 54 28 5b 49 4e 43  R`.AC_SUBST([INC
0c40: 4c 55 44 45 44 49 52 5d 29 0a 4c 49 42 44 49 52  LUDEDIR]).LIBDIR
0c50: 3d 60 65 76 61 6c 20 65 63 68 6f 20 24 6c 69 62  =`eval echo $lib
0c60: 64 69 72 60 0a 4c 49 42 44 49 52 3d 60 65 76 61  dir`.LIBDIR=`eva
0c70: 6c 20 65 63 68 6f 20 24 4c 49 42 44 49 52 60 0a  l echo $LIBDIR`.
0c80: 41 43 5f 53 55 42 53 54 28 5b 4c 49 42 44 49 52  AC_SUBST([LIBDIR
0c90: 5d 29 0a 44 41 54 41 44 49 52 3d 60 65 76 61 6c  ]).DATADIR=`eval
0ca0: 20 65 63 68 6f 20 24 64 61 74 61 64 69 72 60 0a   echo $datadir`.
0cb0: 44 41 54 41 44 49 52 3d 60 65 76 61 6c 20 65 63  DATADIR=`eval ec
0cc0: 68 6f 20 24 44 41 54 41 44 49 52 60 0a 41 43 5f  ho $DATADIR`.AC_
0cd0: 53 55 42 53 54 28 5b 44 41 54 41 44 49 52 5d 29  SUBST([DATADIR])
0ce0: 0a 4d 41 4e 44 49 52 3d 60 65 76 61 6c 20 65 63  .MANDIR=`eval ec
0cf0: 68 6f 20 24 6d 61 6e 64 69 72 60 0a 4d 41 4e 44  ho $mandir`.MAND
0d00: 49 52 3d 60 65 76 61 6c 20 65 63 68 6f 20 24 4d  IR=`eval echo $M
0d10: 41 4e 44 49 52 60 0a 41 43 5f 53 55 42 53 54 28  ANDIR`.AC_SUBST(
0d20: 5b 4d 41 4e 44 49 52 5d 29 0a 0a 64 6e 6c 20 53  [MANDIR])..dnl S
0d30: 75 70 70 6f 72 74 20 66 6f 72 20 62 75 69 6c 64  upport for build
0d40: 69 6e 67 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  ing documentatio
0d50: 6e 2e 0a 41 43 5f 50 41 54 48 5f 50 52 4f 47 28  n..AC_PATH_PROG(
0d60: 5b 58 53 4c 54 50 52 4f 43 5d 2c 20 5b 78 73 6c  [XSLTPROC], [xsl
0d70: 74 70 72 6f 63 5d 2c 20 5b 66 61 6c 73 65 5d 2c  tproc], [false],
0d80: 20 5b 24 50 41 54 48 5d 29 0a 69 66 20 74 65 73   [$PATH]).if tes
0d90: 74 20 2d 64 20 22 2f 75 73 72 2f 73 68 61 72 65  t -d "/usr/share
0da0: 2f 78 6d 6c 2f 64 6f 63 62 6f 6f 6b 2f 73 74 79  /xml/docbook/sty
0db0: 6c 65 73 68 65 65 74 2f 64 6f 63 62 6f 6f 6b 2d  lesheet/docbook-
0dc0: 78 73 6c 22 20 3b 20 74 68 65 6e 0a 20 20 44 45  xsl" ; then.  DE
0dd0: 46 41 55 4c 54 5f 58 53 4c 52 4f 4f 54 3d 22 2f  FAULT_XSLROOT="/
0de0: 75 73 72 2f 73 68 61 72 65 2f 78 6d 6c 2f 64 6f  usr/share/xml/do
0df0: 63 62 6f 6f 6b 2f 73 74 79 6c 65 73 68 65 65 74  cbook/stylesheet
0e00: 2f 64 6f 63 62 6f 6f 6b 2d 78 73 6c 22 0a 65 6c  /docbook-xsl".el
0e10: 69 66 20 74 65 73 74 20 2d 64 20 22 2f 75 73 72  if test -d "/usr
0e20: 2f 73 68 61 72 65 2f 73 67 6d 6c 2f 64 6f 63 62  /share/sgml/docb
0e30: 6f 6f 6b 2f 78 73 6c 2d 73 74 79 6c 65 73 68 65  ook/xsl-styleshe
0e40: 65 74 73 22 20 3b 20 74 68 65 6e 0a 20 20 44 45  ets" ; then.  DE
0e50: 46 41 55 4c 54 5f 58 53 4c 52 4f 4f 54 3d 22 2f  FAULT_XSLROOT="/
0e60: 75 73 72 2f 73 68 61 72 65 2f 73 67 6d 6c 2f 64  usr/share/sgml/d
0e70: 6f 63 62 6f 6f 6b 2f 78 73 6c 2d 73 74 79 6c 65  ocbook/xsl-style
0e80: 73 68 65 65 74 73 22 0a 65 6c 73 65 0a 20 20 64  sheets".else.  d
0e90: 6e 6c 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e  nl Documentation
0ea0: 20 62 75 69 6c 64 69 6e 67 20 77 69 6c 6c 20 66   building will f
0eb0: 61 69 6c 20 69 66 20 74 68 69 73 20 64 65 66 61  ail if this defa
0ec0: 75 6c 74 20 67 65 74 73 20 75 73 65 64 2e 0a 20  ult gets used.. 
0ed0: 20 44 45 46 41 55 4c 54 5f 58 53 4c 52 4f 4f 54   DEFAULT_XSLROOT
0ee0: 3d 22 22 0a 66 69 0a 41 43 5f 41 52 47 5f 57 49  ="".fi.AC_ARG_WI
0ef0: 54 48 28 5b 78 73 6c 72 6f 6f 74 5d 2c 0a 20 20  TH([xslroot],.  
0f00: 5b 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e 47 28  [AS_HELP_STRING(
0f10: 5b 2d 2d 77 69 74 68 2d 78 73 6c 72 6f 6f 74 3d  [--with-xslroot=
0f20: 3c 70 61 74 68 3e 5d 2c 20 5b 58 53 4c 20 73 74  <path>], [XSL st
0f30: 79 6c 65 73 68 65 65 74 20 72 6f 6f 74 20 70 61  ylesheet root pa
0f40: 74 68 5d 29 5d 2c 20 5b 0a 69 66 20 74 65 73 74  th])], [.if test
0f50: 20 22 78 24 77 69 74 68 5f 78 73 6c 72 6f 6f 74   "x$with_xslroot
0f60: 22 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65 6e  " = "xno" ; then
0f70: 0a 20 20 58 53 4c 52 4f 4f 54 3d 22 24 7b 44 45  .  XSLROOT="${DE
0f80: 46 41 55 4c 54 5f 58 53 4c 52 4f 4f 54 7d 22 0a  FAULT_XSLROOT}".
0f90: 65 6c 73 65 0a 20 20 58 53 4c 52 4f 4f 54 3d 22  else.  XSLROOT="
0fa0: 24 7b 77 69 74 68 5f 78 73 6c 72 6f 6f 74 7d 22  ${with_xslroot}"
0fb0: 0a 66 69 0a 5d 2c 0a 20 20 58 53 4c 52 4f 4f 54  .fi.],.  XSLROOT
0fc0: 3d 22 24 7b 44 45 46 41 55 4c 54 5f 58 53 4c 52  ="${DEFAULT_XSLR
0fd0: 4f 4f 54 7d 22 0a 29 0a 41 43 5f 53 55 42 53 54  OOT}".).AC_SUBST
0fe0: 28 5b 58 53 4c 52 4f 4f 54 5d 29 0a 0a 64 6e 6c  ([XSLROOT])..dnl
0ff0: 20 49 66 20 43 46 4c 41 47 53 20 69 73 6e 27 74   If CFLAGS isn't
1000: 20 64 65 66 69 6e 65 64 2c 20 73 65 74 20 43 46   defined, set CF
1010: 4c 41 47 53 20 74 6f 20 73 6f 6d 65 74 68 69 6e  LAGS to somethin
1020: 67 20 72 65 61 73 6f 6e 61 62 6c 65 2e 20 20 4f  g reasonable.  O
1030: 74 68 65 72 77 69 73 65 2c 0a 64 6e 6c 20 6a 75  therwise,.dnl ju
1040: 73 74 20 70 72 65 76 65 6e 74 20 61 75 74 6f 63  st prevent autoc
1050: 6f 6e 66 20 66 72 6f 6d 20 6d 6f 6c 65 73 74 69  onf from molesti
1060: 6e 67 20 43 46 4c 41 47 53 2e 0a 43 46 4c 41 47  ng CFLAGS..CFLAG
1070: 53 3d 24 43 46 4c 41 47 53 0a 41 43 5f 50 52 4f  S=$CFLAGS.AC_PRO
1080: 47 5f 43 43 0a 0a 69 66 20 74 65 73 74 20 22 78  G_CC..if test "x
1090: 24 47 43 43 22 20 21 3d 20 22 78 79 65 73 22 20  $GCC" != "xyes" 
10a0: 3b 20 74 68 65 6e 0a 20 20 41 43 5f 43 41 43 48  ; then.  AC_CACH
10b0: 45 5f 43 48 45 43 4b 28 5b 77 68 65 74 68 65 72  E_CHECK([whether
10c0: 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 4d 53 56   compiler is MSV
10d0: 43 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  C],.            
10e0: 20 20 20 20 20 5b 6a 65 5f 63 76 5f 6d 73 76 63       [je_cv_msvc
10f0: 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ],.             
1100: 20 20 20 20 5b 41 43 5f 43 4f 4d 50 49 4c 45 5f      [AC_COMPILE_
1110: 49 46 45 4c 53 45 28 5b 41 43 5f 4c 41 4e 47 5f  IFELSE([AC_LANG_
1120: 50 52 4f 47 52 41 4d 28 5b 5d 2c 0a 20 20 20 20  PROGRAM([],.    
1130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1160: 20 5b 0a 23 69 66 6e 64 65 66 20 5f 4d 53 43 5f   [.#ifndef _MSC_
1170: 56 45 52 0a 20 20 69 6e 74 20 66 61 69 6c 5b 2d  VER.  int fail[-
1180: 31 5d 3b 0a 23 65 6e 64 69 66 0a 5d 29 5d 2c 0a  1];.#endif.])],.
1190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b                 [
11b0: 6a 65 5f 63 76 5f 6d 73 76 63 3d 79 65 73 5d 2c  je_cv_msvc=yes],
11c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
11d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11e0: 5b 6a 65 5f 63 76 5f 6d 73 76 63 3d 6e 6f 5d 29  [je_cv_msvc=no])
11f0: 5d 29 0a 66 69 0a 0a 64 6e 6c 20 63 68 65 63 6b  ]).fi..dnl check
1200: 20 69 66 20 61 20 63 72 61 79 20 70 72 67 65 6e   if a cray prgen
1210: 76 20 77 72 61 70 70 65 72 20 63 6f 6d 70 69 6c  v wrapper compil
1220: 65 72 20 69 73 20 62 65 69 6e 67 20 75 73 65 64  er is being used
1230: 0a 6a 65 5f 63 76 5f 63 72 61 79 5f 70 72 67 65  .je_cv_cray_prge
1240: 6e 76 5f 77 72 61 70 70 65 72 3d 22 22 0a 69 66  nv_wrapper="".if
1250: 20 74 65 73 74 20 22 78 24 7b 50 45 5f 45 4e 56   test "x${PE_ENV
1260: 7d 22 20 21 3d 20 22 78 22 20 3b 20 74 68 65 6e  }" != "x" ; then
1270: 0a 20 20 63 61 73 65 20 22 24 7b 43 43 7d 22 20  .  case "${CC}" 
1280: 69 6e 0a 20 20 20 20 43 43 7c 63 63 29 0a 09 6a  in.    CC|cc)..j
1290: 65 5f 63 76 5f 63 72 61 79 5f 70 72 67 65 6e 76  e_cv_cray_prgenv
12a0: 5f 77 72 61 70 70 65 72 3d 22 79 65 73 22 0a 09  _wrapper="yes"..
12b0: 3b 3b 0a 20 20 20 20 2a 29 0a 20 20 20 20 20 20  ;;.    *).      
12c0: 20 3b 3b 0a 20 20 65 73 61 63 0a 66 69 0a 0a 41   ;;.  esac.fi..A
12d0: 43 5f 43 41 43 48 45 5f 43 48 45 43 4b 28 5b 77  C_CACHE_CHECK([w
12e0: 68 65 74 68 65 72 20 63 6f 6d 70 69 6c 65 72 20  hether compiler 
12f0: 69 73 20 63 72 61 79 5d 2c 0a 20 20 20 20 20 20  is cray],.      
1300: 20 20 20 20 20 20 20 20 5b 6a 65 5f 63 76 5f 63          [je_cv_c
1310: 72 61 79 5d 2c 0a 20 20 20 20 20 20 20 20 20 20  ray],.          
1320: 20 20 20 20 5b 41 43 5f 43 4f 4d 50 49 4c 45 5f      [AC_COMPILE_
1330: 49 46 45 4c 53 45 28 5b 41 43 5f 4c 41 4e 47 5f  IFELSE([AC_LANG_
1340: 50 52 4f 47 52 41 4d 28 5b 5d 2c 0a 20 20 20 20  PROGRAM([],.    
1350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1360: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 0a                [.
1380: 23 69 66 6e 64 65 66 20 5f 43 52 41 59 43 0a 20  #ifndef _CRAYC. 
1390: 20 69 6e 74 20 66 61 69 6c 5b 2d 31 5d 3b 0a 23   int fail[-1];.#
13a0: 65 6e 64 69 66 0a 5d 29 5d 2c 0a 20 20 20 20 20  endif.])],.     
13b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
13c0: 20 20 20 20 20 20 20 5b 6a 65 5f 63 76 5f 63 72         [je_cv_cr
13d0: 61 79 3d 79 65 73 5d 2c 0a 20 20 20 20 20 20 20  ay=yes],.       
13e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
13f0: 20 20 20 20 20 5b 6a 65 5f 63 76 5f 63 72 61 79       [je_cv_cray
1400: 3d 6e 6f 5d 29 5d 29 0a 0a 69 66 20 74 65 73 74  =no])])..if test
1410: 20 22 78 24 7b 6a 65 5f 63 76 5f 63 72 61 79 7d   "x${je_cv_cray}
1420: 22 20 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65  " = "xyes" ; the
1430: 6e 0a 20 20 41 43 5f 43 41 43 48 45 5f 43 48 45  n.  AC_CACHE_CHE
1440: 43 4b 28 5b 77 68 65 74 68 65 72 20 63 72 61 79  CK([whether cray
1450: 20 63 6f 6d 70 69 6c 65 72 20 76 65 72 73 69 6f   compiler versio
1460: 6e 20 69 73 20 38 2e 34 5d 2c 0a 20 20 20 20 20  n is 8.4],.     
1470: 20 20 20 20 20 20 20 20 20 20 20 5b 6a 65 5f 63             [je_c
1480: 76 5f 63 72 61 79 5f 38 34 5d 2c 0a 20 20 20 20  v_cray_84],.    
1490: 20 20 20 20 20 20 20 20 20 20 20 20 5b 41 43 5f              [AC_
14a0: 43 4f 4d 50 49 4c 45 5f 49 46 45 4c 53 45 28 5b  COMPILE_IFELSE([
14b0: 41 43 5f 4c 41 4e 47 5f 50 52 4f 47 52 41 4d 28  AC_LANG_PROGRAM(
14c0: 5b 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  [],.            
14d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
14e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
14f0: 20 20 20 20 20 20 20 20 20 20 5b 0a 23 69 66 20            [.#if 
1500: 21 28 5f 52 45 4c 45 41 53 45 5f 4d 41 4a 4f 52  !(_RELEASE_MAJOR
1510: 20 3d 3d 20 38 20 26 26 20 5f 52 45 4c 45 41 53   == 8 && _RELEAS
1520: 45 5f 4d 49 4e 4f 52 20 3d 3d 20 34 29 0a 20 20  E_MINOR == 4).  
1530: 69 6e 74 20 66 61 69 6c 5b 2d 31 5d 3b 0a 23 65  int fail[-1];.#e
1540: 6e 64 69 66 0a 5d 29 5d 2c 0a 20 20 20 20 20 20  ndif.])],.      
1550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1560: 20 20 20 20 20 20 20 20 5b 6a 65 5f 63 76 5f 63          [je_cv_c
1570: 72 61 79 5f 38 34 3d 79 65 73 5d 2c 0a 20 20 20  ray_84=yes],.   
1580: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1590: 20 20 20 20 20 20 20 20 20 20 20 5b 6a 65 5f 63             [je_c
15a0: 76 5f 63 72 61 79 5f 38 34 3d 6e 6f 5d 29 5d 29  v_cray_84=no])])
15b0: 0a 66 69 0a 0a 69 66 20 74 65 73 74 20 22 78 24  .fi..if test "x$
15c0: 47 43 43 22 20 3d 20 22 78 79 65 73 22 20 3b 20  GCC" = "xyes" ; 
15d0: 74 68 65 6e 0a 20 20 4a 45 5f 43 46 4c 41 47 53  then.  JE_CFLAGS
15e0: 5f 41 44 44 28 5b 2d 73 74 64 3d 67 6e 75 31 31  _ADD([-std=gnu11
15f0: 5d 29 0a 20 20 69 66 20 74 65 73 74 20 22 78 24  ]).  if test "x$
1600: 6a 65 5f 63 76 5f 63 66 6c 61 67 73 5f 61 64 64  je_cv_cflags_add
1610: 65 64 22 20 3d 20 22 78 2d 73 74 64 3d 67 6e 75  ed" = "x-std=gnu
1620: 31 31 22 20 3b 20 74 68 65 6e 0a 20 20 20 20 41  11" ; then.    A
1630: 43 5f 44 45 46 49 4e 45 5f 55 4e 51 55 4f 54 45  C_DEFINE_UNQUOTE
1640: 44 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 48 41 53 5f  D([JEMALLOC_HAS_
1650: 52 45 53 54 52 49 43 54 5d 29 0a 20 20 65 6c 73  RESTRICT]).  els
1660: 65 0a 20 20 20 20 4a 45 5f 43 46 4c 41 47 53 5f  e.    JE_CFLAGS_
1670: 41 44 44 28 5b 2d 73 74 64 3d 67 6e 75 39 39 5d  ADD([-std=gnu99]
1680: 29 0a 20 20 20 20 69 66 20 74 65 73 74 20 22 78  ).    if test "x
1690: 24 6a 65 5f 63 76 5f 63 66 6c 61 67 73 5f 61 64  $je_cv_cflags_ad
16a0: 64 65 64 22 20 3d 20 22 78 2d 73 74 64 3d 67 6e  ded" = "x-std=gn
16b0: 75 39 39 22 20 3b 20 74 68 65 6e 0a 20 20 20 20  u99" ; then.    
16c0: 20 20 41 43 5f 44 45 46 49 4e 45 5f 55 4e 51 55    AC_DEFINE_UNQU
16d0: 4f 54 45 44 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 48  OTED([JEMALLOC_H
16e0: 41 53 5f 52 45 53 54 52 49 43 54 5d 29 0a 20 20  AS_RESTRICT]).  
16f0: 20 20 66 69 0a 20 20 66 69 0a 20 20 4a 45 5f 43    fi.  fi.  JE_C
1700: 46 4c 41 47 53 5f 41 44 44 28 5b 2d 57 61 6c 6c  FLAGS_ADD([-Wall
1710: 5d 29 0a 20 20 4a 45 5f 43 46 4c 41 47 53 5f 41  ]).  JE_CFLAGS_A
1720: 44 44 28 5b 2d 57 65 72 72 6f 72 3d 64 65 63 6c  DD([-Werror=decl
1730: 61 72 61 74 69 6f 6e 2d 61 66 74 65 72 2d 73 74  aration-after-st
1740: 61 74 65 6d 65 6e 74 5d 29 0a 20 20 4a 45 5f 43  atement]).  JE_C
1750: 46 4c 41 47 53 5f 41 44 44 28 5b 2d 57 73 68 6f  FLAGS_ADD([-Wsho
1760: 72 74 65 6e 2d 36 34 2d 74 6f 2d 33 32 5d 29 0a  rten-64-to-32]).
1770: 20 20 4a 45 5f 43 46 4c 41 47 53 5f 41 44 44 28    JE_CFLAGS_ADD(
1780: 5b 2d 57 73 69 67 6e 2d 63 6f 6d 70 61 72 65 5d  [-Wsign-compare]
1790: 29 0a 20 20 4a 45 5f 43 46 4c 41 47 53 5f 41 44  ).  JE_CFLAGS_AD
17a0: 44 28 5b 2d 70 69 70 65 5d 29 0a 20 20 4a 45 5f  D([-pipe]).  JE_
17b0: 43 46 4c 41 47 53 5f 41 44 44 28 5b 2d 67 33 5d  CFLAGS_ADD([-g3]
17c0: 29 0a 65 6c 69 66 20 74 65 73 74 20 22 78 24 6a  ).elif test "x$j
17d0: 65 5f 63 76 5f 6d 73 76 63 22 20 3d 20 22 78 79  e_cv_msvc" = "xy
17e0: 65 73 22 20 3b 20 74 68 65 6e 0a 20 20 43 43 3d  es" ; then.  CC=
17f0: 22 24 43 43 20 2d 6e 6f 6c 6f 67 6f 22 0a 20 20  "$CC -nologo".  
1800: 4a 45 5f 43 46 4c 41 47 53 5f 41 44 44 28 5b 2d  JE_CFLAGS_ADD([-
1810: 5a 69 5d 29 0a 20 20 4a 45 5f 43 46 4c 41 47 53  Zi]).  JE_CFLAGS
1820: 5f 41 44 44 28 5b 2d 4d 54 5d 29 0a 20 20 4a 45  _ADD([-MT]).  JE
1830: 5f 43 46 4c 41 47 53 5f 41 44 44 28 5b 2d 57 33  _CFLAGS_ADD([-W3
1840: 5d 29 0a 20 20 4a 45 5f 43 46 4c 41 47 53 5f 41  ]).  JE_CFLAGS_A
1850: 44 44 28 5b 2d 46 53 5d 29 0a 20 20 4a 45 5f 41  DD([-FS]).  JE_A
1860: 50 50 45 4e 44 5f 56 53 28 43 50 50 46 4c 41 47  PPEND_VS(CPPFLAG
1870: 53 2c 20 2d 49 24 7b 73 72 63 64 69 72 7d 2f 69  S, -I${srcdir}/i
1880: 6e 63 6c 75 64 65 2f 6d 73 76 63 5f 63 6f 6d 70  nclude/msvc_comp
1890: 61 74 29 0a 66 69 0a 69 66 20 74 65 73 74 20 22  at).fi.if test "
18a0: 78 24 6a 65 5f 63 76 5f 63 72 61 79 22 20 3d 20  x$je_cv_cray" = 
18b0: 22 78 79 65 73 22 20 3b 20 74 68 65 6e 0a 20 20  "xyes" ; then.  
18c0: 64 6e 6c 20 63 72 61 79 20 63 6f 6d 70 69 6c 65  dnl cray compile
18d0: 72 20 38 2e 34 20 68 61 73 20 61 6e 20 69 6e 6c  r 8.4 has an inl
18e0: 69 6e 69 6e 67 20 62 75 67 0a 20 20 69 66 20 74  ining bug.  if t
18f0: 65 73 74 20 22 78 24 6a 65 5f 63 76 5f 63 72 61  est "x$je_cv_cra
1900: 79 5f 38 34 22 20 3d 20 22 78 79 65 73 22 20 3b  y_84" = "xyes" ;
1910: 20 74 68 65 6e 0a 20 20 20 20 4a 45 5f 43 46 4c   then.    JE_CFL
1920: 41 47 53 5f 41 44 44 28 5b 2d 68 69 70 61 32 5d  AGS_ADD([-hipa2]
1930: 29 0a 20 20 20 20 4a 45 5f 43 46 4c 41 47 53 5f  ).    JE_CFLAGS_
1940: 41 44 44 28 5b 2d 68 6e 6f 67 6e 75 5d 29 0a 20  ADD([-hnognu]). 
1950: 20 66 69 0a 20 20 69 66 20 74 65 73 74 20 22 78   fi.  if test "x
1960: 24 65 6e 61 62 6c 65 5f 63 63 5f 73 69 6c 65 6e  $enable_cc_silen
1970: 63 65 22 20 21 3d 20 22 78 6e 6f 22 20 3b 20 74  ce" != "xno" ; t
1980: 68 65 6e 0a 20 20 20 20 64 6e 6c 20 69 67 6e 6f  hen.    dnl igno
1990: 72 65 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63  re unreachable c
19a0: 6f 64 65 20 77 61 72 6e 69 6e 67 0a 20 20 20 20  ode warning.    
19b0: 4a 45 5f 43 46 4c 41 47 53 5f 41 44 44 28 5b 2d  JE_CFLAGS_ADD([-
19c0: 68 6e 6f 6d 65 73 73 61 67 65 3d 31 32 38 5d 29  hnomessage=128])
19d0: 0a 20 20 20 20 64 6e 6c 20 69 67 6e 6f 72 65 20  .    dnl ignore 
19e0: 72 65 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20  redefinition of 
19f0: 22 6d 61 6c 6c 6f 63 22 2c 20 22 66 72 65 65 22  "malloc", "free"
1a00: 2c 20 65 74 63 20 77 61 72 6e 69 6e 67 0a 20 20  , etc warning.  
1a10: 20 20 4a 45 5f 43 46 4c 41 47 53 5f 41 44 44 28    JE_CFLAGS_ADD(
1a20: 5b 2d 68 6e 6f 6d 65 73 73 61 67 65 3d 31 33 35  [-hnomessage=135
1a30: 37 5d 29 0a 20 20 66 69 0a 66 69 0a 41 43 5f 53  7]).  fi.fi.AC_S
1a40: 55 42 53 54 28 5b 43 4f 4e 46 49 47 55 52 45 5f  UBST([CONFIGURE_
1a50: 43 46 4c 41 47 53 5d 29 0a 41 43 5f 53 55 42 53  CFLAGS]).AC_SUBS
1a60: 54 28 5b 53 50 45 43 49 46 49 45 44 5f 43 46 4c  T([SPECIFIED_CFL
1a70: 41 47 53 5d 29 0a 41 43 5f 53 55 42 53 54 28 5b  AGS]).AC_SUBST([
1a80: 45 58 54 52 41 5f 43 46 4c 41 47 53 5d 29 0a 41  EXTRA_CFLAGS]).A
1a90: 43 5f 50 52 4f 47 5f 43 50 50 0a 0a 41 43 5f 43  C_PROG_CPP..AC_C
1aa0: 5f 42 49 47 45 4e 44 49 41 4e 28 5b 61 63 5f 63  _BIGENDIAN([ac_c
1ab0: 76 5f 62 69 67 5f 65 6e 64 69 61 6e 3d 31 5d 2c  v_big_endian=1],
1ac0: 20 5b 61 63 5f 63 76 5f 62 69 67 5f 65 6e 64 69   [ac_cv_big_endi
1ad0: 61 6e 3d 30 5d 29 0a 69 66 20 74 65 73 74 20 22  an=0]).if test "
1ae0: 78 24 7b 61 63 5f 63 76 5f 62 69 67 5f 65 6e 64  x${ac_cv_big_end
1af0: 69 61 6e 7d 22 20 3d 20 22 78 31 22 20 3b 20 74  ian}" = "x1" ; t
1b00: 68 65 6e 0a 20 20 41 43 5f 44 45 46 49 4e 45 5f  hen.  AC_DEFINE_
1b10: 55 4e 51 55 4f 54 45 44 28 5b 4a 45 4d 41 4c 4c  UNQUOTED([JEMALL
1b20: 4f 43 5f 42 49 47 5f 45 4e 44 49 41 4e 5d 2c 20  OC_BIG_ENDIAN], 
1b30: 5b 20 5d 29 0a 66 69 0a 0a 69 66 20 74 65 73 74  [ ]).fi..if test
1b40: 20 22 78 24 7b 6a 65 5f 63 76 5f 6d 73 76 63 7d   "x${je_cv_msvc}
1b50: 22 20 3d 20 22 78 79 65 73 22 20 2d 61 20 22 78  " = "xyes" -a "x
1b60: 24 7b 61 63 5f 63 76 5f 68 65 61 64 65 72 5f 69  ${ac_cv_header_i
1b70: 6e 74 74 79 70 65 73 5f 68 7d 22 20 3d 20 22 78  nttypes_h}" = "x
1b80: 6e 6f 22 3b 20 74 68 65 6e 0a 20 20 4a 45 5f 41  no"; then.  JE_A
1b90: 50 50 45 4e 44 5f 56 53 28 43 50 50 46 4c 41 47  PPEND_VS(CPPFLAG
1ba0: 53 2c 20 2d 49 24 7b 73 72 63 64 69 72 7d 2f 69  S, -I${srcdir}/i
1bb0: 6e 63 6c 75 64 65 2f 6d 73 76 63 5f 63 6f 6d 70  nclude/msvc_comp
1bc0: 61 74 2f 43 39 39 29 0a 66 69 0a 0a 69 66 20 74  at/C99).fi..if t
1bd0: 65 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f 6d 73  est "x${je_cv_ms
1be0: 76 63 7d 22 20 3d 20 22 78 79 65 73 22 20 3b 20  vc}" = "xyes" ; 
1bf0: 74 68 65 6e 0a 20 20 4c 47 5f 53 49 5a 45 4f 46  then.  LG_SIZEOF
1c00: 5f 50 54 52 3d 4c 47 5f 53 49 5a 45 4f 46 5f 50  _PTR=LG_SIZEOF_P
1c10: 54 52 5f 57 49 4e 0a 20 20 41 43 5f 4d 53 47 5f  TR_WIN.  AC_MSG_
1c20: 52 45 53 55 4c 54 28 5b 55 73 69 6e 67 20 61 20  RESULT([Using a 
1c30: 70 72 65 64 65 66 69 6e 65 64 20 76 61 6c 75 65  predefined value
1c40: 20 66 6f 72 20 73 69 7a 65 6f 66 28 76 6f 69 64   for sizeof(void
1c50: 20 2a 29 3a 20 34 20 66 6f 72 20 33 32 2d 62 69   *): 4 for 32-bi
1c60: 74 2c 20 38 20 66 6f 72 20 36 34 2d 62 69 74 5d  t, 8 for 64-bit]
1c70: 29 0a 65 6c 73 65 0a 20 20 41 43 5f 43 48 45 43  ).else.  AC_CHEC
1c80: 4b 5f 53 49 5a 45 4f 46 28 5b 76 6f 69 64 20 2a  K_SIZEOF([void *
1c90: 5d 29 0a 20 20 69 66 20 74 65 73 74 20 22 78 24  ]).  if test "x$
1ca0: 7b 61 63 5f 63 76 5f 73 69 7a 65 6f 66 5f 76 6f  {ac_cv_sizeof_vo
1cb0: 69 64 5f 70 7d 22 20 3d 20 22 78 38 22 20 3b 20  id_p}" = "x8" ; 
1cc0: 74 68 65 6e 0a 20 20 20 20 4c 47 5f 53 49 5a 45  then.    LG_SIZE
1cd0: 4f 46 5f 50 54 52 3d 33 0a 20 20 65 6c 69 66 20  OF_PTR=3.  elif 
1ce0: 74 65 73 74 20 22 78 24 7b 61 63 5f 63 76 5f 73  test "x${ac_cv_s
1cf0: 69 7a 65 6f 66 5f 76 6f 69 64 5f 70 7d 22 20 3d  izeof_void_p}" =
1d00: 20 22 78 34 22 20 3b 20 74 68 65 6e 0a 20 20 20   "x4" ; then.   
1d10: 20 4c 47 5f 53 49 5a 45 4f 46 5f 50 54 52 3d 32   LG_SIZEOF_PTR=2
1d20: 0a 20 20 65 6c 73 65 0a 20 20 20 20 41 43 5f 4d  .  else.    AC_M
1d30: 53 47 5f 45 52 52 4f 52 28 5b 55 6e 73 75 70 70  SG_ERROR([Unsupp
1d40: 6f 72 74 65 64 20 70 6f 69 6e 74 65 72 20 73 69  orted pointer si
1d50: 7a 65 3a 20 24 7b 61 63 5f 63 76 5f 73 69 7a 65  ze: ${ac_cv_size
1d60: 6f 66 5f 76 6f 69 64 5f 70 7d 5d 29 0a 20 20 66  of_void_p}]).  f
1d70: 69 0a 66 69 0a 41 43 5f 44 45 46 49 4e 45 5f 55  i.fi.AC_DEFINE_U
1d80: 4e 51 55 4f 54 45 44 28 5b 4c 47 5f 53 49 5a 45  NQUOTED([LG_SIZE
1d90: 4f 46 5f 50 54 52 5d 2c 20 5b 24 4c 47 5f 53 49  OF_PTR], [$LG_SI
1da0: 5a 45 4f 46 5f 50 54 52 5d 29 0a 0a 41 43 5f 43  ZEOF_PTR])..AC_C
1db0: 48 45 43 4b 5f 53 49 5a 45 4f 46 28 5b 69 6e 74  HECK_SIZEOF([int
1dc0: 5d 29 0a 69 66 20 74 65 73 74 20 22 78 24 7b 61  ]).if test "x${a
1dd0: 63 5f 63 76 5f 73 69 7a 65 6f 66 5f 69 6e 74 7d  c_cv_sizeof_int}
1de0: 22 20 3d 20 22 78 38 22 20 3b 20 74 68 65 6e 0a  " = "x8" ; then.
1df0: 20 20 4c 47 5f 53 49 5a 45 4f 46 5f 49 4e 54 3d    LG_SIZEOF_INT=
1e00: 33 0a 65 6c 69 66 20 74 65 73 74 20 22 78 24 7b  3.elif test "x${
1e10: 61 63 5f 63 76 5f 73 69 7a 65 6f 66 5f 69 6e 74  ac_cv_sizeof_int
1e20: 7d 22 20 3d 20 22 78 34 22 20 3b 20 74 68 65 6e  }" = "x4" ; then
1e30: 0a 20 20 4c 47 5f 53 49 5a 45 4f 46 5f 49 4e 54  .  LG_SIZEOF_INT
1e40: 3d 32 0a 65 6c 73 65 0a 20 20 41 43 5f 4d 53 47  =2.else.  AC_MSG
1e50: 5f 45 52 52 4f 52 28 5b 55 6e 73 75 70 70 6f 72  _ERROR([Unsuppor
1e60: 74 65 64 20 69 6e 74 20 73 69 7a 65 3a 20 24 7b  ted int size: ${
1e70: 61 63 5f 63 76 5f 73 69 7a 65 6f 66 5f 69 6e 74  ac_cv_sizeof_int
1e80: 7d 5d 29 0a 66 69 0a 41 43 5f 44 45 46 49 4e 45  }]).fi.AC_DEFINE
1e90: 5f 55 4e 51 55 4f 54 45 44 28 5b 4c 47 5f 53 49  _UNQUOTED([LG_SI
1ea0: 5a 45 4f 46 5f 49 4e 54 5d 2c 20 5b 24 4c 47 5f  ZEOF_INT], [$LG_
1eb0: 53 49 5a 45 4f 46 5f 49 4e 54 5d 29 0a 0a 41 43  SIZEOF_INT])..AC
1ec0: 5f 43 48 45 43 4b 5f 53 49 5a 45 4f 46 28 5b 6c  _CHECK_SIZEOF([l
1ed0: 6f 6e 67 5d 29 0a 69 66 20 74 65 73 74 20 22 78  ong]).if test "x
1ee0: 24 7b 61 63 5f 63 76 5f 73 69 7a 65 6f 66 5f 6c  ${ac_cv_sizeof_l
1ef0: 6f 6e 67 7d 22 20 3d 20 22 78 38 22 20 3b 20 74  ong}" = "x8" ; t
1f00: 68 65 6e 0a 20 20 4c 47 5f 53 49 5a 45 4f 46 5f  hen.  LG_SIZEOF_
1f10: 4c 4f 4e 47 3d 33 0a 65 6c 69 66 20 74 65 73 74  LONG=3.elif test
1f20: 20 22 78 24 7b 61 63 5f 63 76 5f 73 69 7a 65 6f   "x${ac_cv_sizeo
1f30: 66 5f 6c 6f 6e 67 7d 22 20 3d 20 22 78 34 22 20  f_long}" = "x4" 
1f40: 3b 20 74 68 65 6e 0a 20 20 4c 47 5f 53 49 5a 45  ; then.  LG_SIZE
1f50: 4f 46 5f 4c 4f 4e 47 3d 32 0a 65 6c 73 65 0a 20  OF_LONG=2.else. 
1f60: 20 41 43 5f 4d 53 47 5f 45 52 52 4f 52 28 5b 55   AC_MSG_ERROR([U
1f70: 6e 73 75 70 70 6f 72 74 65 64 20 6c 6f 6e 67 20  nsupported long 
1f80: 73 69 7a 65 3a 20 24 7b 61 63 5f 63 76 5f 73 69  size: ${ac_cv_si
1f90: 7a 65 6f 66 5f 6c 6f 6e 67 7d 5d 29 0a 66 69 0a  zeof_long}]).fi.
1fa0: 41 43 5f 44 45 46 49 4e 45 5f 55 4e 51 55 4f 54  AC_DEFINE_UNQUOT
1fb0: 45 44 28 5b 4c 47 5f 53 49 5a 45 4f 46 5f 4c 4f  ED([LG_SIZEOF_LO
1fc0: 4e 47 5d 2c 20 5b 24 4c 47 5f 53 49 5a 45 4f 46  NG], [$LG_SIZEOF
1fd0: 5f 4c 4f 4e 47 5d 29 0a 0a 41 43 5f 43 48 45 43  _LONG])..AC_CHEC
1fe0: 4b 5f 53 49 5a 45 4f 46 28 5b 6c 6f 6e 67 20 6c  K_SIZEOF([long l
1ff0: 6f 6e 67 5d 29 0a 69 66 20 74 65 73 74 20 22 78  ong]).if test "x
2000: 24 7b 61 63 5f 63 76 5f 73 69 7a 65 6f 66 5f 6c  ${ac_cv_sizeof_l
2010: 6f 6e 67 5f 6c 6f 6e 67 7d 22 20 3d 20 22 78 38  ong_long}" = "x8
2020: 22 20 3b 20 74 68 65 6e 0a 20 20 4c 47 5f 53 49  " ; then.  LG_SI
2030: 5a 45 4f 46 5f 4c 4f 4e 47 5f 4c 4f 4e 47 3d 33  ZEOF_LONG_LONG=3
2040: 0a 65 6c 69 66 20 74 65 73 74 20 22 78 24 7b 61  .elif test "x${a
2050: 63 5f 63 76 5f 73 69 7a 65 6f 66 5f 6c 6f 6e 67  c_cv_sizeof_long
2060: 5f 6c 6f 6e 67 7d 22 20 3d 20 22 78 34 22 20 3b  _long}" = "x4" ;
2070: 20 74 68 65 6e 0a 20 20 4c 47 5f 53 49 5a 45 4f   then.  LG_SIZEO
2080: 46 5f 4c 4f 4e 47 5f 4c 4f 4e 47 3d 32 0a 65 6c  F_LONG_LONG=2.el
2090: 73 65 0a 20 20 41 43 5f 4d 53 47 5f 45 52 52 4f  se.  AC_MSG_ERRO
20a0: 52 28 5b 55 6e 73 75 70 70 6f 72 74 65 64 20 6c  R([Unsupported l
20b0: 6f 6e 67 20 6c 6f 6e 67 20 73 69 7a 65 3a 20 24  ong long size: $
20c0: 7b 61 63 5f 63 76 5f 73 69 7a 65 6f 66 5f 6c 6f  {ac_cv_sizeof_lo
20d0: 6e 67 5f 6c 6f 6e 67 7d 5d 29 0a 66 69 0a 41 43  ng_long}]).fi.AC
20e0: 5f 44 45 46 49 4e 45 5f 55 4e 51 55 4f 54 45 44  _DEFINE_UNQUOTED
20f0: 28 5b 4c 47 5f 53 49 5a 45 4f 46 5f 4c 4f 4e 47  ([LG_SIZEOF_LONG
2100: 5f 4c 4f 4e 47 5d 2c 20 5b 24 4c 47 5f 53 49 5a  _LONG], [$LG_SIZ
2110: 45 4f 46 5f 4c 4f 4e 47 5f 4c 4f 4e 47 5d 29 0a  EOF_LONG_LONG]).
2120: 0a 41 43 5f 43 48 45 43 4b 5f 53 49 5a 45 4f 46  .AC_CHECK_SIZEOF
2130: 28 5b 69 6e 74 6d 61 78 5f 74 5d 29 0a 69 66 20  ([intmax_t]).if 
2140: 74 65 73 74 20 22 78 24 7b 61 63 5f 63 76 5f 73  test "x${ac_cv_s
2150: 69 7a 65 6f 66 5f 69 6e 74 6d 61 78 5f 74 7d 22  izeof_intmax_t}"
2160: 20 3d 20 22 78 31 36 22 20 3b 20 74 68 65 6e 0a   = "x16" ; then.
2170: 20 20 4c 47 5f 53 49 5a 45 4f 46 5f 49 4e 54 4d    LG_SIZEOF_INTM
2180: 41 58 5f 54 3d 34 0a 65 6c 69 66 20 74 65 73 74  AX_T=4.elif test
2190: 20 22 78 24 7b 61 63 5f 63 76 5f 73 69 7a 65 6f   "x${ac_cv_sizeo
21a0: 66 5f 69 6e 74 6d 61 78 5f 74 7d 22 20 3d 20 22  f_intmax_t}" = "
21b0: 78 38 22 20 3b 20 74 68 65 6e 0a 20 20 4c 47 5f  x8" ; then.  LG_
21c0: 53 49 5a 45 4f 46 5f 49 4e 54 4d 41 58 5f 54 3d  SIZEOF_INTMAX_T=
21d0: 33 0a 65 6c 69 66 20 74 65 73 74 20 22 78 24 7b  3.elif test "x${
21e0: 61 63 5f 63 76 5f 73 69 7a 65 6f 66 5f 69 6e 74  ac_cv_sizeof_int
21f0: 6d 61 78 5f 74 7d 22 20 3d 20 22 78 34 22 20 3b  max_t}" = "x4" ;
2200: 20 74 68 65 6e 0a 20 20 4c 47 5f 53 49 5a 45 4f   then.  LG_SIZEO
2210: 46 5f 49 4e 54 4d 41 58 5f 54 3d 32 0a 65 6c 73  F_INTMAX_T=2.els
2220: 65 0a 20 20 41 43 5f 4d 53 47 5f 45 52 52 4f 52  e.  AC_MSG_ERROR
2230: 28 5b 55 6e 73 75 70 70 6f 72 74 65 64 20 69 6e  ([Unsupported in
2240: 74 6d 61 78 5f 74 20 73 69 7a 65 3a 20 24 7b 61  tmax_t size: ${a
2250: 63 5f 63 76 5f 73 69 7a 65 6f 66 5f 69 6e 74 6d  c_cv_sizeof_intm
2260: 61 78 5f 74 7d 5d 29 0a 66 69 0a 41 43 5f 44 45  ax_t}]).fi.AC_DE
2270: 46 49 4e 45 5f 55 4e 51 55 4f 54 45 44 28 5b 4c  FINE_UNQUOTED([L
2280: 47 5f 53 49 5a 45 4f 46 5f 49 4e 54 4d 41 58 5f  G_SIZEOF_INTMAX_
2290: 54 5d 2c 20 5b 24 4c 47 5f 53 49 5a 45 4f 46 5f  T], [$LG_SIZEOF_
22a0: 49 4e 54 4d 41 58 5f 54 5d 29 0a 0a 41 43 5f 43  INTMAX_T])..AC_C
22b0: 41 4e 4f 4e 49 43 41 4c 5f 48 4f 53 54 0a 64 6e  ANONICAL_HOST.dn
22c0: 6c 20 43 50 55 2d 73 70 65 63 69 66 69 63 20 73  l CPU-specific s
22d0: 65 74 74 69 6e 67 73 2e 0a 43 50 55 5f 53 50 49  ettings..CPU_SPI
22e0: 4e 57 41 49 54 3d 22 22 0a 63 61 73 65 20 22 24  NWAIT="".case "$
22f0: 7b 68 6f 73 74 5f 63 70 75 7d 22 20 69 6e 0a 20  {host_cpu}" in. 
2300: 20 69 36 38 36 7c 78 38 36 5f 36 34 29 0a 09 69   i686|x86_64)..i
2310: 66 20 74 65 73 74 20 22 78 24 7b 6a 65 5f 63 76  f test "x${je_cv
2320: 5f 6d 73 76 63 7d 22 20 3d 20 22 78 79 65 73 22  _msvc}" = "xyes"
2330: 20 3b 20 74 68 65 6e 0a 09 20 20 20 20 41 43 5f   ; then..    AC_
2340: 43 41 43 48 45 5f 56 41 4c 28 5b 6a 65 5f 63 76  CACHE_VAL([je_cv
2350: 5f 70 61 75 73 65 5f 6d 73 76 63 5d 2c 0a 09 20  _pause_msvc],.. 
2360: 20 20 20 20 20 5b 4a 45 5f 43 4f 4d 50 49 4c 41       [JE_COMPILA
2370: 42 4c 45 28 5b 70 61 75 73 65 20 69 6e 73 74 72  BLE([pause instr
2380: 75 63 74 69 6f 6e 20 4d 53 56 43 5d 2c 20 5b 5d  uction MSVC], []
2390: 2c 0a 09 09 09 09 09 5b 5b 5f 6d 6d 5f 70 61 75  ,......[[_mm_pau
23a0: 73 65 28 29 3b 20 72 65 74 75 72 6e 20 30 3b 5d  se(); return 0;]
23b0: 5d 2c 0a 09 09 09 09 09 5b 6a 65 5f 63 76 5f 70  ],......[je_cv_p
23c0: 61 75 73 65 5f 6d 73 76 63 5d 29 5d 29 0a 09 20  ause_msvc])]).. 
23d0: 20 20 20 69 66 20 74 65 73 74 20 22 78 24 7b 6a     if test "x${j
23e0: 65 5f 63 76 5f 70 61 75 73 65 5f 6d 73 76 63 7d  e_cv_pause_msvc}
23f0: 22 20 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65  " = "xyes" ; the
2400: 6e 0a 09 09 43 50 55 5f 53 50 49 4e 57 41 49 54  n...CPU_SPINWAIT
2410: 3d 27 5f 6d 6d 5f 70 61 75 73 65 28 29 27 0a 09  ='_mm_pause()'..
2420: 20 20 20 20 66 69 0a 09 65 6c 73 65 0a 09 20 20      fi..else..  
2430: 20 20 41 43 5f 43 41 43 48 45 5f 56 41 4c 28 5b    AC_CACHE_VAL([
2440: 6a 65 5f 63 76 5f 70 61 75 73 65 5d 2c 0a 09 20  je_cv_pause],.. 
2450: 20 20 20 20 20 5b 4a 45 5f 43 4f 4d 50 49 4c 41       [JE_COMPILA
2460: 42 4c 45 28 5b 70 61 75 73 65 20 69 6e 73 74 72  BLE([pause instr
2470: 75 63 74 69 6f 6e 5d 2c 20 5b 5d 2c 0a 09 09 09  uction], [],....
2480: 09 09 5b 5b 5f 5f 61 73 6d 5f 5f 20 76 6f 6c 61  ..[[__asm__ vola
2490: 74 69 6c 65 28 22 70 61 75 73 65 22 29 3b 20 72  tile("pause"); r
24a0: 65 74 75 72 6e 20 30 3b 5d 5d 2c 0a 09 09 09 09  eturn 0;]],.....
24b0: 09 5b 6a 65 5f 63 76 5f 70 61 75 73 65 5d 29 5d  .[je_cv_pause])]
24c0: 29 0a 09 20 20 20 20 69 66 20 74 65 73 74 20 22  )..    if test "
24d0: 78 24 7b 6a 65 5f 63 76 5f 70 61 75 73 65 7d 22  x${je_cv_pause}"
24e0: 20 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65 6e   = "xyes" ; then
24f0: 0a 09 09 43 50 55 5f 53 50 49 4e 57 41 49 54 3d  ...CPU_SPINWAIT=
2500: 27 5f 5f 61 73 6d 5f 5f 20 76 6f 6c 61 74 69 6c  '__asm__ volatil
2510: 65 28 22 70 61 75 73 65 22 29 27 0a 09 20 20 20  e("pause")'..   
2520: 20 66 69 0a 09 66 69 0a 09 3b 3b 0a 20 20 70 6f   fi..fi..;;.  po
2530: 77 65 72 70 63 29 0a 09 41 43 5f 44 45 46 49 4e  werpc)..AC_DEFIN
2540: 45 5f 55 4e 51 55 4f 54 45 44 28 5b 48 41 56 45  E_UNQUOTED([HAVE
2550: 5f 41 4c 54 49 56 45 43 5d 2c 20 5b 20 5d 29 0a  _ALTIVEC], [ ]).
2560: 09 3b 3b 0a 20 20 2a 29 0a 09 3b 3b 0a 65 73 61  .;;.  *)..;;.esa
2570: 63 0a 41 43 5f 44 45 46 49 4e 45 5f 55 4e 51 55  c.AC_DEFINE_UNQU
2580: 4f 54 45 44 28 5b 43 50 55 5f 53 50 49 4e 57 41  OTED([CPU_SPINWA
2590: 49 54 5d 2c 20 5b 24 43 50 55 5f 53 50 49 4e 57  IT], [$CPU_SPINW
25a0: 41 49 54 5d 29 0a 0a 4c 44 5f 50 52 45 4c 4f 41  AIT])..LD_PRELOA
25b0: 44 5f 56 41 52 3d 22 4c 44 5f 50 52 45 4c 4f 41  D_VAR="LD_PRELOA
25c0: 44 22 0a 73 6f 3d 22 73 6f 22 0a 69 6d 70 6f 72  D".so="so".impor
25d0: 74 6c 69 62 3d 22 24 7b 73 6f 7d 22 0a 6f 3d 22  tlib="${so}".o="
25e0: 24 61 63 5f 6f 62 6a 65 78 74 22 0a 61 3d 22 61  $ac_objext".a="a
25f0: 22 0a 65 78 65 3d 22 24 61 63 5f 65 78 65 65 78  ".exe="$ac_exeex
2600: 74 22 0a 6c 69 62 70 72 65 66 69 78 3d 22 6c 69  t".libprefix="li
2610: 62 22 0a 6c 69 6e 6b 5f 77 68 6f 6c 65 5f 61 72  b".link_whole_ar
2620: 63 68 69 76 65 3d 22 30 22 0a 44 53 4f 5f 4c 44  chive="0".DSO_LD
2630: 46 4c 41 47 53 3d 27 2d 73 68 61 72 65 64 20 2d  FLAGS='-shared -
2640: 57 6c 2c 2d 73 6f 6e 61 6d 65 2c 24 28 40 46 29  Wl,-soname,$(@F)
2650: 27 0a 52 50 41 54 48 3d 27 2d 57 6c 2c 2d 72 70  '.RPATH='-Wl,-rp
2660: 61 74 68 2c 24 28 31 29 27 0a 53 4f 52 45 56 3d  ath,$(1)'.SOREV=
2670: 22 24 7b 73 6f 7d 2e 24 7b 72 65 76 7d 22 0a 50  "${so}.${rev}".P
2680: 49 43 5f 43 46 4c 41 47 53 3d 27 2d 66 50 49 43  IC_CFLAGS='-fPIC
2690: 20 2d 44 50 49 43 27 0a 43 54 41 52 47 45 54 3d   -DPIC'.CTARGET=
26a0: 27 2d 6f 20 24 40 27 0a 4c 44 54 41 52 47 45 54  '-o $@'.LDTARGET
26b0: 3d 27 2d 6f 20 24 40 27 0a 54 45 53 54 5f 4c 44  ='-o $@'.TEST_LD
26c0: 5f 4d 4f 44 45 3d 0a 45 58 54 52 41 5f 4c 44 46  _MODE=.EXTRA_LDF
26d0: 4c 41 47 53 3d 0a 41 52 46 4c 41 47 53 3d 27 63  LAGS=.ARFLAGS='c
26e0: 72 75 73 27 0a 41 52 4f 55 54 3d 27 20 24 40 27  rus'.AROUT=' $@'
26f0: 0a 43 43 5f 4d 4d 3d 31 0a 0a 69 66 20 74 65 73  .CC_MM=1..if tes
2700: 74 20 22 78 24 6a 65 5f 63 76 5f 63 72 61 79 5f  t "x$je_cv_cray_
2710: 70 72 67 65 6e 76 5f 77 72 61 70 70 65 72 22 20  prgenv_wrapper" 
2720: 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65 6e 0a  = "xyes" ; then.
2730: 20 20 54 45 53 54 5f 4c 44 5f 4d 4f 44 45 3d 27    TEST_LD_MODE='
2740: 2d 64 79 6e 61 6d 69 63 27 0a 66 69 0a 0a 69 66  -dynamic'.fi..if
2750: 20 74 65 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f   test "x${je_cv_
2760: 63 72 61 79 7d 22 20 3d 20 22 78 79 65 73 22 20  cray}" = "xyes" 
2770: 3b 20 74 68 65 6e 0a 20 20 43 43 5f 4d 4d 3d 0a  ; then.  CC_MM=.
2780: 66 69 0a 0a 41 4e 5f 4d 41 4b 45 56 41 52 28 5b  fi..AN_MAKEVAR([
2790: 41 52 5d 2c 20 5b 41 43 5f 50 52 4f 47 5f 41 52  AR], [AC_PROG_AR
27a0: 5d 29 0a 41 4e 5f 50 52 4f 47 52 41 4d 28 5b 61  ]).AN_PROGRAM([a
27b0: 72 5d 2c 20 5b 41 43 5f 50 52 4f 47 5f 41 52 5d  r], [AC_PROG_AR]
27c0: 29 0a 41 43 5f 44 45 46 55 4e 28 5b 41 43 5f 50  ).AC_DEFUN([AC_P
27d0: 52 4f 47 5f 41 52 5d 2c 20 5b 41 43 5f 43 48 45  ROG_AR], [AC_CHE
27e0: 43 4b 5f 54 4f 4f 4c 28 41 52 2c 20 61 72 2c 20  CK_TOOL(AR, ar, 
27f0: 3a 29 5d 29 0a 41 43 5f 50 52 4f 47 5f 41 52 0a  :)]).AC_PROG_AR.
2800: 0a 64 6e 6c 20 50 6c 61 74 66 6f 72 6d 2d 73 70  .dnl Platform-sp
2810: 65 63 69 66 69 63 20 73 65 74 74 69 6e 67 73 2e  ecific settings.
2820: 20 20 61 62 69 20 61 6e 64 20 52 50 41 54 48 20    abi and RPATH 
2830: 63 61 6e 20 70 72 6f 62 61 62 6c 79 20 62 65 20  can probably be 
2840: 64 65 74 65 72 6d 69 6e 65 64 0a 64 6e 6c 20 70  determined.dnl p
2850: 72 6f 67 72 61 6d 6d 61 74 69 63 61 6c 6c 79 2c  rogrammatically,
2860: 20 62 75 74 20 64 6f 69 6e 67 20 73 6f 20 69 73   but doing so is
2870: 20 65 72 72 6f 72 2d 70 72 6f 6e 65 2c 20 77 68   error-prone, wh
2880: 69 63 68 20 6d 61 6b 65 73 20 69 74 20 67 65 6e  ich makes it gen
2890: 65 72 61 6c 6c 79 0a 64 6e 6c 20 6e 6f 74 20 77  erally.dnl not w
28a0: 6f 72 74 68 20 74 68 65 20 74 72 6f 75 62 6c 65  orth the trouble
28b0: 2e 0a 64 6e 6c 20 0a 64 6e 6c 20 44 65 66 69 6e  ..dnl .dnl Defin
28c0: 65 20 63 70 70 20 6d 61 63 72 6f 73 20 69 6e 20  e cpp macros in 
28d0: 43 50 50 46 4c 41 47 53 2c 20 72 61 74 68 65 72  CPPFLAGS, rather
28e0: 20 74 68 61 6e 20 64 6f 69 6e 67 20 41 43 5f 44   than doing AC_D
28f0: 45 46 49 4e 45 28 6d 61 63 72 6f 29 2c 20 73 69  EFINE(macro), si
2900: 6e 63 65 20 74 68 65 0a 64 6e 6c 20 64 65 66 69  nce the.dnl defi
2910: 6e 69 74 69 6f 6e 73 20 6e 65 65 64 20 74 6f 20  nitions need to 
2920: 62 65 20 73 65 65 6e 20 62 65 66 6f 72 65 20 61  be seen before a
2930: 6e 79 20 68 65 61 64 65 72 73 20 61 72 65 20 69  ny headers are i
2940: 6e 63 6c 75 64 65 64 2c 20 77 68 69 63 68 20 69  ncluded, which i
2950: 73 20 61 20 70 61 69 6e 0a 64 6e 6c 20 74 6f 20  s a pain.dnl to 
2960: 6d 61 6b 65 20 68 61 70 70 65 6e 20 6f 74 68 65  make happen othe
2970: 72 77 69 73 65 2e 0a 64 65 66 61 75 6c 74 5f 6d  rwise..default_m
2980: 75 6e 6d 61 70 3d 22 31 22 0a 6d 61 70 73 5f 63  unmap="1".maps_c
2990: 6f 61 6c 65 73 63 65 3d 22 31 22 0a 63 61 73 65  oalesce="1".case
29a0: 20 22 24 7b 68 6f 73 74 7d 22 20 69 6e 0a 20 20   "${host}" in.  
29b0: 2a 2d 2a 2d 64 61 72 77 69 6e 2a 20 7c 20 2a 2d  *-*-darwin* | *-
29c0: 2a 2d 69 6f 73 2a 29 0a 09 61 62 69 3d 22 6d 61  *-ios*)..abi="ma
29d0: 63 68 6f 22 0a 09 52 50 41 54 48 3d 22 22 0a 09  cho"..RPATH=""..
29e0: 4c 44 5f 50 52 45 4c 4f 41 44 5f 56 41 52 3d 22  LD_PRELOAD_VAR="
29f0: 44 59 4c 44 5f 49 4e 53 45 52 54 5f 4c 49 42 52  DYLD_INSERT_LIBR
2a00: 41 52 49 45 53 22 0a 09 73 6f 3d 22 64 79 6c 69  ARIES"..so="dyli
2a10: 62 22 0a 09 69 6d 70 6f 72 74 6c 69 62 3d 22 24  b"..importlib="$
2a20: 7b 73 6f 7d 22 0a 09 66 6f 72 63 65 5f 74 6c 73  {so}"..force_tls
2a30: 3d 22 30 22 0a 09 44 53 4f 5f 4c 44 46 4c 41 47  ="0"..DSO_LDFLAG
2a40: 53 3d 27 2d 73 68 61 72 65 64 20 2d 57 6c 2c 2d  S='-shared -Wl,-
2a50: 69 6e 73 74 61 6c 6c 5f 6e 61 6d 65 2c 24 28 4c  install_name,$(L
2a60: 49 42 44 49 52 29 2f 24 28 40 46 29 27 0a 09 53  IBDIR)/$(@F)'..S
2a70: 4f 52 45 56 3d 22 24 7b 72 65 76 7d 2e 24 7b 73  OREV="${rev}.${s
2a80: 6f 7d 22 0a 09 73 62 72 6b 5f 64 65 70 72 65 63  o}"..sbrk_deprec
2a90: 61 74 65 64 3d 22 31 22 0a 09 3b 3b 0a 20 20 2a  ated="1"..;;.  *
2aa0: 2d 2a 2d 66 72 65 65 62 73 64 2a 29 0a 09 61 62  -*-freebsd*)..ab
2ab0: 69 3d 22 65 6c 66 22 0a 09 41 43 5f 44 45 46 49  i="elf"..AC_DEFI
2ac0: 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 53 59 53  NE([JEMALLOC_SYS
2ad0: 43 54 4c 5f 56 4d 5f 4f 56 45 52 43 4f 4d 4d 49  CTL_VM_OVERCOMMI
2ae0: 54 5d 2c 20 5b 20 5d 29 0a 09 66 6f 72 63 65 5f  T], [ ])..force_
2af0: 6c 61 7a 79 5f 6c 6f 63 6b 3d 22 31 22 0a 09 3b  lazy_lock="1"..;
2b00: 3b 0a 20 20 2a 2d 2a 2d 64 72 61 67 6f 6e 66 6c  ;.  *-*-dragonfl
2b10: 79 2a 29 0a 09 61 62 69 3d 22 65 6c 66 22 0a 09  y*)..abi="elf"..
2b20: 3b 3b 0a 20 20 2a 2d 2a 2d 6f 70 65 6e 62 73 64  ;;.  *-*-openbsd
2b30: 2a 29 0a 09 61 62 69 3d 22 65 6c 66 22 0a 09 66  *)..abi="elf"..f
2b40: 6f 72 63 65 5f 74 6c 73 3d 22 30 22 0a 09 3b 3b  orce_tls="0"..;;
2b50: 0a 20 20 2a 2d 2a 2d 62 69 74 72 69 67 2a 29 0a  .  *-*-bitrig*).
2b60: 09 61 62 69 3d 22 65 6c 66 22 0a 09 3b 3b 0a 20  .abi="elf"..;;. 
2b70: 20 2a 2d 2a 2d 6c 69 6e 75 78 2d 61 6e 64 72 6f   *-*-linux-andro
2b80: 69 64 29 0a 09 64 6e 6c 20 73 79 73 63 61 6c 6c  id)..dnl syscall
2b90: 28 32 29 20 61 6e 64 20 73 65 63 75 72 65 5f 67  (2) and secure_g
2ba0: 65 74 65 6e 76 28 33 29 20 61 72 65 20 65 78 70  etenv(3) are exp
2bb0: 6f 73 65 64 20 62 79 20 5f 47 4e 55 5f 53 4f 55  osed by _GNU_SOU
2bc0: 52 43 45 2e 0a 09 4a 45 5f 41 50 50 45 4e 44 5f  RCE...JE_APPEND_
2bd0: 56 53 28 43 50 50 46 4c 41 47 53 2c 20 2d 44 5f  VS(CPPFLAGS, -D_
2be0: 47 4e 55 5f 53 4f 55 52 43 45 29 0a 09 61 62 69  GNU_SOURCE)..abi
2bf0: 3d 22 65 6c 66 22 0a 09 41 43 5f 44 45 46 49 4e  ="elf"..AC_DEFIN
2c00: 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 48 41 53 5f  E([JEMALLOC_HAS_
2c10: 41 4c 4c 4f 43 41 5f 48 5d 29 0a 09 41 43 5f 44  ALLOCA_H])..AC_D
2c20: 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f  EFINE([JEMALLOC_
2c30: 50 52 4f 43 5f 53 59 53 5f 56 4d 5f 4f 56 45 52  PROC_SYS_VM_OVER
2c40: 43 4f 4d 4d 49 54 5f 4d 45 4d 4f 52 59 5d 2c 20  COMMIT_MEMORY], 
2c50: 5b 20 5d 29 0a 09 41 43 5f 44 45 46 49 4e 45 28  [ ])..AC_DEFINE(
2c60: 5b 4a 45 4d 41 4c 4c 4f 43 5f 54 48 52 45 41 44  [JEMALLOC_THREAD
2c70: 45 44 5f 49 4e 49 54 5d 2c 20 5b 20 5d 29 0a 09  ED_INIT], [ ])..
2c80: 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c  AC_DEFINE([JEMAL
2c90: 4c 4f 43 5f 43 31 31 41 54 4f 4d 49 43 53 5d 29  LOC_C11ATOMICS])
2ca0: 0a 09 66 6f 72 63 65 5f 74 6c 73 3d 22 30 22 0a  ..force_tls="0".
2cb0: 09 64 65 66 61 75 6c 74 5f 6d 75 6e 6d 61 70 3d  .default_munmap=
2cc0: 22 30 22 0a 09 3b 3b 0a 20 20 2a 2d 2a 2d 6c 69  "0"..;;.  *-*-li
2cd0: 6e 75 78 2a 20 7c 20 2a 2d 2a 2d 6b 66 72 65 65  nux* | *-*-kfree
2ce0: 62 73 64 2a 29 0a 09 64 6e 6c 20 73 79 73 63 61  bsd*)..dnl sysca
2cf0: 6c 6c 28 32 29 20 61 6e 64 20 73 65 63 75 72 65  ll(2) and secure
2d00: 5f 67 65 74 65 6e 76 28 33 29 20 61 72 65 20 65  _getenv(3) are e
2d10: 78 70 6f 73 65 64 20 62 79 20 5f 47 4e 55 5f 53  xposed by _GNU_S
2d20: 4f 55 52 43 45 2e 0a 09 4a 45 5f 41 50 50 45 4e  OURCE...JE_APPEN
2d30: 44 5f 56 53 28 43 50 50 46 4c 41 47 53 2c 20 2d  D_VS(CPPFLAGS, -
2d40: 44 5f 47 4e 55 5f 53 4f 55 52 43 45 29 0a 09 61  D_GNU_SOURCE)..a
2d50: 62 69 3d 22 65 6c 66 22 0a 09 41 43 5f 44 45 46  bi="elf"..AC_DEF
2d60: 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 48 41  INE([JEMALLOC_HA
2d70: 53 5f 41 4c 4c 4f 43 41 5f 48 5d 29 0a 09 41 43  S_ALLOCA_H])..AC
2d80: 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f  _DEFINE([JEMALLO
2d90: 43 5f 50 52 4f 43 5f 53 59 53 5f 56 4d 5f 4f 56  C_PROC_SYS_VM_OV
2da0: 45 52 43 4f 4d 4d 49 54 5f 4d 45 4d 4f 52 59 5d  ERCOMMIT_MEMORY]
2db0: 2c 20 5b 20 5d 29 0a 09 41 43 5f 44 45 46 49 4e  , [ ])..AC_DEFIN
2dc0: 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 54 48 52 45  E([JEMALLOC_THRE
2dd0: 41 44 45 44 5f 49 4e 49 54 5d 2c 20 5b 20 5d 29  ADED_INIT], [ ])
2de0: 0a 09 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d  ..AC_DEFINE([JEM
2df0: 41 4c 4c 4f 43 5f 55 53 45 5f 43 58 58 5f 54 48  ALLOC_USE_CXX_TH
2e00: 52 4f 57 5d 2c 20 5b 20 5d 29 0a 09 64 65 66 61  ROW], [ ])..defa
2e10: 75 6c 74 5f 6d 75 6e 6d 61 70 3d 22 30 22 0a 09  ult_munmap="0"..
2e20: 3b 3b 0a 20 20 2a 2d 2a 2d 6e 65 74 62 73 64 2a  ;;.  *-*-netbsd*
2e30: 29 0a 09 41 43 5f 4d 53 47 5f 43 48 45 43 4b 49  )..AC_MSG_CHECKI
2e40: 4e 47 28 5b 41 42 49 5d 29 0a 20 20 20 20 20 20  NG([ABI]).      
2e50: 20 20 41 43 5f 43 4f 4d 50 49 4c 45 5f 49 46 45    AC_COMPILE_IFE
2e60: 4c 53 45 28 5b 41 43 5f 4c 41 4e 47 5f 50 52 4f  LSE([AC_LANG_PRO
2e70: 47 52 41 4d 28 0a 5b 5b 23 69 66 64 65 66 20 5f  GRAM(.[[#ifdef _
2e80: 5f 45 4c 46 5f 5f 0a 2f 2a 20 45 4c 46 20 2a 2f  _ELF__./* ELF */
2e90: 0a 23 65 6c 73 65 0a 23 65 72 72 6f 72 20 61 6f  .#else.#error ao
2ea0: 75 74 0a 23 65 6e 64 69 66 0a 5d 5d 29 5d 2c 0a  ut.#endif.]])],.
2eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2ec0: 20 20 20 20 20 20 20 20 20 20 5b 61 62 69 3d 22            [abi="
2ed0: 65 6c 66 22 5d 2c 0a 20 20 20 20 20 20 20 20 20  elf"],.         
2ee0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2ef0: 20 5b 61 62 69 3d 22 61 6f 75 74 22 5d 29 0a 09   [abi="aout"])..
2f00: 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 24  AC_MSG_RESULT([$
2f10: 61 62 69 5d 29 0a 09 3b 3b 0a 20 20 2a 2d 2a 2d  abi])..;;.  *-*-
2f20: 73 6f 6c 61 72 69 73 32 2a 29 0a 09 61 62 69 3d  solaris2*)..abi=
2f30: 22 65 6c 66 22 0a 09 52 50 41 54 48 3d 27 2d 57  "elf"..RPATH='-W
2f40: 6c 2c 2d 52 2c 24 28 31 29 27 0a 09 64 6e 6c 20  l,-R,$(1)'..dnl 
2f50: 53 6f 6c 61 72 69 73 20 6e 65 65 64 73 20 74 68  Solaris needs th
2f60: 69 73 20 66 6f 72 20 73 69 67 77 61 69 74 28 29  is for sigwait()
2f70: 2e 0a 09 4a 45 5f 41 50 50 45 4e 44 5f 56 53 28  ...JE_APPEND_VS(
2f80: 43 50 50 46 4c 41 47 53 2c 20 2d 44 5f 50 4f 53  CPPFLAGS, -D_POS
2f90: 49 58 5f 50 54 48 52 45 41 44 5f 53 45 4d 41 4e  IX_PTHREAD_SEMAN
2fa0: 54 49 43 53 29 0a 09 4a 45 5f 41 50 50 45 4e 44  TICS)..JE_APPEND
2fb0: 5f 56 53 28 4c 49 42 53 2c 20 2d 6c 70 6f 73 69  _VS(LIBS, -lposi
2fc0: 78 34 20 2d 6c 73 6f 63 6b 65 74 20 2d 6c 6e 73  x4 -lsocket -lns
2fd0: 6c 29 0a 09 3b 3b 0a 20 20 2a 2d 69 62 6d 2d 61  l)..;;.  *-ibm-a
2fe0: 69 78 2a 29 0a 09 69 66 20 22 24 4c 47 5f 53 49  ix*)..if "$LG_SI
2ff0: 5a 45 4f 46 5f 50 54 52 22 20 3d 20 22 38 22 3b  ZEOF_PTR" = "8";
3000: 20 74 68 65 6e 0a 09 20 20 64 6e 6c 20 36 34 62   then..  dnl 64b
3010: 69 74 20 41 49 58 0a 09 20 20 4c 44 5f 50 52 45  it AIX..  LD_PRE
3020: 4c 4f 41 44 5f 56 41 52 3d 22 4c 44 52 5f 50 52  LOAD_VAR="LDR_PR
3030: 45 4c 4f 41 44 36 34 22 0a 09 65 6c 73 65 0a 09  ELOAD64"..else..
3040: 20 20 64 6e 6c 20 33 32 62 69 74 20 41 49 58 0a    dnl 32bit AIX.
3050: 09 20 20 4c 44 5f 50 52 45 4c 4f 41 44 5f 56 41  .  LD_PRELOAD_VA
3060: 52 3d 22 4c 44 52 5f 50 52 45 4c 4f 41 44 22 0a  R="LDR_PRELOAD".
3070: 09 66 69 0a 09 61 62 69 3d 22 78 63 6f 66 66 22  .fi..abi="xcoff"
3080: 0a 09 3b 3b 0a 20 20 2a 2d 2a 2d 6d 69 6e 67 77  ..;;.  *-*-mingw
3090: 2a 20 7c 20 2a 2d 2a 2d 63 79 67 77 69 6e 2a 29  * | *-*-cygwin*)
30a0: 0a 09 61 62 69 3d 22 70 65 63 6f 66 66 22 0a 09  ..abi="pecoff"..
30b0: 66 6f 72 63 65 5f 74 6c 73 3d 22 30 22 0a 09 6d  force_tls="0"..m
30c0: 61 70 73 5f 63 6f 61 6c 65 73 63 65 3d 22 30 22  aps_coalesce="0"
30d0: 0a 09 52 50 41 54 48 3d 22 22 0a 09 73 6f 3d 22  ..RPATH=""..so="
30e0: 64 6c 6c 22 0a 09 69 66 20 74 65 73 74 20 22 78  dll"..if test "x
30f0: 24 6a 65 5f 63 76 5f 6d 73 76 63 22 20 3d 20 22  $je_cv_msvc" = "
3100: 78 79 65 73 22 20 3b 20 74 68 65 6e 0a 09 20 20  xyes" ; then..  
3110: 69 6d 70 6f 72 74 6c 69 62 3d 22 6c 69 62 22 0a  importlib="lib".
3120: 09 20 20 44 53 4f 5f 4c 44 46 4c 41 47 53 3d 22  .  DSO_LDFLAGS="
3130: 2d 4c 44 22 0a 09 20 20 45 58 54 52 41 5f 4c 44  -LD"..  EXTRA_LD
3140: 46 4c 41 47 53 3d 22 2d 6c 69 6e 6b 20 2d 44 45  FLAGS="-link -DE
3150: 42 55 47 22 0a 09 20 20 43 54 41 52 47 45 54 3d  BUG"..  CTARGET=
3160: 27 2d 46 6f 24 40 27 0a 09 20 20 4c 44 54 41 52  '-Fo$@'..  LDTAR
3170: 47 45 54 3d 27 2d 46 65 24 40 27 0a 09 20 20 41  GET='-Fe$@'..  A
3180: 52 3d 27 6c 69 62 27 0a 09 20 20 41 52 46 4c 41  R='lib'..  ARFLA
3190: 47 53 3d 27 2d 6e 6f 6c 6f 67 6f 20 2d 6f 75 74  GS='-nologo -out
31a0: 3a 27 0a 09 20 20 41 52 4f 55 54 3d 27 24 40 27  :'..  AROUT='$@'
31b0: 0a 09 20 20 43 43 5f 4d 4d 3d 0a 20 20 20 20 20  ..  CC_MM=.     
31c0: 20 20 20 65 6c 73 65 0a 09 20 20 69 6d 70 6f 72     else..  impor
31d0: 74 6c 69 62 3d 22 24 7b 73 6f 7d 22 0a 09 20 20  tlib="${so}"..  
31e0: 44 53 4f 5f 4c 44 46 4c 41 47 53 3d 22 2d 73 68  DSO_LDFLAGS="-sh
31f0: 61 72 65 64 22 0a 09 20 20 6c 69 6e 6b 5f 77 68  ared"..  link_wh
3200: 6f 6c 65 5f 61 72 63 68 69 76 65 3d 22 31 22 0a  ole_archive="1".
3210: 09 66 69 0a 09 61 3d 22 6c 69 62 22 0a 09 6c 69  .fi..a="lib"..li
3220: 62 70 72 65 66 69 78 3d 22 22 0a 09 53 4f 52 45  bprefix=""..SORE
3230: 56 3d 22 24 7b 73 6f 7d 22 0a 09 50 49 43 5f 43  V="${so}"..PIC_C
3240: 46 4c 41 47 53 3d 22 22 0a 09 3b 3b 0a 20 20 2a  FLAGS=""..;;.  *
3250: 29 0a 09 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54  )..AC_MSG_RESULT
3260: 28 5b 55 6e 73 75 70 70 6f 72 74 65 64 20 6f 70  ([Unsupported op
3270: 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 3a 20  erating system: 
3280: 24 7b 68 6f 73 74 7d 5d 29 0a 09 61 62 69 3d 22  ${host}])..abi="
3290: 65 6c 66 22 0a 09 3b 3b 0a 65 73 61 63 0a 0a 4a  elf"..;;.esac..J
32a0: 45 4d 41 4c 4c 4f 43 5f 55 53 41 42 4c 45 5f 53  EMALLOC_USABLE_S
32b0: 49 5a 45 5f 43 4f 4e 53 54 3d 63 6f 6e 73 74 0a  IZE_CONST=const.
32c0: 41 43 5f 43 48 45 43 4b 5f 48 45 41 44 45 52 53  AC_CHECK_HEADERS
32d0: 28 5b 6d 61 6c 6c 6f 63 2e 68 5d 2c 20 5b 0a 20  ([malloc.h], [. 
32e0: 20 41 43 5f 4d 53 47 5f 43 48 45 43 4b 49 4e 47   AC_MSG_CHECKING
32f0: 28 5b 77 68 65 74 68 65 72 20 6d 61 6c 6c 6f 63  ([whether malloc
3300: 5f 75 73 61 62 6c 65 5f 73 69 7a 65 20 64 65 66  _usable_size def
3310: 69 6e 69 74 69 6f 6e 20 63 61 6e 20 75 73 65 20  inition can use 
3320: 63 6f 6e 73 74 20 61 72 67 75 6d 65 6e 74 5d 29  const argument])
3330: 0a 20 20 41 43 5f 43 4f 4d 50 49 4c 45 5f 49 46  .  AC_COMPILE_IF
3340: 45 4c 53 45 28 5b 41 43 5f 4c 41 4e 47 5f 50 52  ELSE([AC_LANG_PR
3350: 4f 47 52 41 4d 28 0a 20 20 20 20 5b 23 69 6e 63  OGRAM(.    [#inc
3360: 6c 75 64 65 20 3c 6d 61 6c 6c 6f 63 2e 68 3e 0a  lude <malloc.h>.
3370: 20 20 20 20 20 23 69 6e 63 6c 75 64 65 20 3c 73       #include <s
3380: 74 64 64 65 66 2e 68 3e 0a 20 20 20 20 73 69 7a  tddef.h>.    siz
3390: 65 5f 74 20 6d 61 6c 6c 6f 63 5f 75 73 61 62 6c  e_t malloc_usabl
33a0: 65 5f 73 69 7a 65 28 63 6f 6e 73 74 20 76 6f 69  e_size(const voi
33b0: 64 20 2a 70 74 72 29 3b 0a 20 20 20 20 5d 2c 0a  d *ptr);.    ],.
33c0: 20 20 20 20 5b 5d 29 5d 2c 5b 0a 20 20 20 20 20      [])],[.     
33d0: 20 20 20 20 20 20 20 20 20 20 20 41 43 5f 4d 53             AC_MS
33e0: 47 5f 52 45 53 55 4c 54 28 5b 79 65 73 5d 29 0a  G_RESULT([yes]).
33f0: 20 20 20 20 20 20 20 20 20 5d 2c 5b 0a 20 20 20           ],[.   
3400: 20 20 20 20 20 20 20 20 20 20 20 20 20 4a 45 4d               JEM
3410: 41 4c 4c 4f 43 5f 55 53 41 42 4c 45 5f 53 49 5a  ALLOC_USABLE_SIZ
3420: 45 5f 43 4f 4e 53 54 3d 0a 20 20 20 20 20 20 20  E_CONST=.       
3430: 20 20 20 20 20 20 20 20 20 41 43 5f 4d 53 47 5f           AC_MSG_
3440: 52 45 53 55 4c 54 28 5b 6e 6f 5d 29 0a 20 20 20  RESULT([no]).   
3450: 20 20 20 20 20 20 5d 29 0a 5d 29 0a 41 43 5f 44        ]).]).AC_D
3460: 45 46 49 4e 45 5f 55 4e 51 55 4f 54 45 44 28 5b  EFINE_UNQUOTED([
3470: 4a 45 4d 41 4c 4c 4f 43 5f 55 53 41 42 4c 45 5f  JEMALLOC_USABLE_
3480: 53 49 5a 45 5f 43 4f 4e 53 54 5d 2c 20 5b 24 4a  SIZE_CONST], [$J
3490: 45 4d 41 4c 4c 4f 43 5f 55 53 41 42 4c 45 5f 53  EMALLOC_USABLE_S
34a0: 49 5a 45 5f 43 4f 4e 53 54 5d 29 0a 41 43 5f 53  IZE_CONST]).AC_S
34b0: 55 42 53 54 28 5b 61 62 69 5d 29 0a 41 43 5f 53  UBST([abi]).AC_S
34c0: 55 42 53 54 28 5b 52 50 41 54 48 5d 29 0a 41 43  UBST([RPATH]).AC
34d0: 5f 53 55 42 53 54 28 5b 4c 44 5f 50 52 45 4c 4f  _SUBST([LD_PRELO
34e0: 41 44 5f 56 41 52 5d 29 0a 41 43 5f 53 55 42 53  AD_VAR]).AC_SUBS
34f0: 54 28 5b 73 6f 5d 29 0a 41 43 5f 53 55 42 53 54  T([so]).AC_SUBST
3500: 28 5b 69 6d 70 6f 72 74 6c 69 62 5d 29 0a 41 43  ([importlib]).AC
3510: 5f 53 55 42 53 54 28 5b 6f 5d 29 0a 41 43 5f 53  _SUBST([o]).AC_S
3520: 55 42 53 54 28 5b 61 5d 29 0a 41 43 5f 53 55 42  UBST([a]).AC_SUB
3530: 53 54 28 5b 65 78 65 5d 29 0a 41 43 5f 53 55 42  ST([exe]).AC_SUB
3540: 53 54 28 5b 6c 69 62 70 72 65 66 69 78 5d 29 0a  ST([libprefix]).
3550: 41 43 5f 53 55 42 53 54 28 5b 6c 69 6e 6b 5f 77  AC_SUBST([link_w
3560: 68 6f 6c 65 5f 61 72 63 68 69 76 65 5d 29 0a 41  hole_archive]).A
3570: 43 5f 53 55 42 53 54 28 5b 44 53 4f 5f 4c 44 46  C_SUBST([DSO_LDF
3580: 4c 41 47 53 5d 29 0a 41 43 5f 53 55 42 53 54 28  LAGS]).AC_SUBST(
3590: 5b 45 58 54 52 41 5f 4c 44 46 4c 41 47 53 5d 29  [EXTRA_LDFLAGS])
35a0: 0a 41 43 5f 53 55 42 53 54 28 5b 53 4f 52 45 56  .AC_SUBST([SOREV
35b0: 5d 29 0a 41 43 5f 53 55 42 53 54 28 5b 50 49 43  ]).AC_SUBST([PIC
35c0: 5f 43 46 4c 41 47 53 5d 29 0a 41 43 5f 53 55 42  _CFLAGS]).AC_SUB
35d0: 53 54 28 5b 43 54 41 52 47 45 54 5d 29 0a 41 43  ST([CTARGET]).AC
35e0: 5f 53 55 42 53 54 28 5b 4c 44 54 41 52 47 45 54  _SUBST([LDTARGET
35f0: 5d 29 0a 41 43 5f 53 55 42 53 54 28 5b 54 45 53  ]).AC_SUBST([TES
3600: 54 5f 4c 44 5f 4d 4f 44 45 5d 29 0a 41 43 5f 53  T_LD_MODE]).AC_S
3610: 55 42 53 54 28 5b 4d 4b 4c 49 42 5d 29 0a 41 43  UBST([MKLIB]).AC
3620: 5f 53 55 42 53 54 28 5b 41 52 46 4c 41 47 53 5d  _SUBST([ARFLAGS]
3630: 29 0a 41 43 5f 53 55 42 53 54 28 5b 41 52 4f 55  ).AC_SUBST([AROU
3640: 54 5d 29 0a 41 43 5f 53 55 42 53 54 28 5b 43 43  T]).AC_SUBST([CC
3650: 5f 4d 4d 5d 29 0a 0a 64 6e 6c 20 44 65 74 65 72  _MM])..dnl Deter
3660: 6d 69 6e 65 20 77 68 65 74 68 65 72 20 6c 69 62  mine whether lib
3670: 6d 20 6d 75 73 74 20 62 65 20 6c 69 6e 6b 65 64  m must be linked
3680: 20 74 6f 20 75 73 65 20 65 2e 67 2e 20 6c 6f 67   to use e.g. log
3690: 28 33 29 2e 0a 41 43 5f 53 45 41 52 43 48 5f 4c  (3)..AC_SEARCH_L
36a0: 49 42 53 28 5b 6c 6f 67 5d 2c 20 5b 6d 5d 2c 20  IBS([log], [m], 
36b0: 2c 20 5b 41 43 5f 4d 53 47 5f 45 52 52 4f 52 28  , [AC_MSG_ERROR(
36c0: 5b 4d 69 73 73 69 6e 67 20 6d 61 74 68 20 66 75  [Missing math fu
36d0: 6e 63 74 69 6f 6e 73 5d 29 5d 29 0a 69 66 20 74  nctions])]).if t
36e0: 65 73 74 20 22 78 24 61 63 5f 63 76 5f 73 65 61  est "x$ac_cv_sea
36f0: 72 63 68 5f 6c 6f 67 22 20 21 3d 20 22 78 6e 6f  rch_log" != "xno
3700: 6e 65 20 72 65 71 75 69 72 65 64 22 20 3b 20 74  ne required" ; t
3710: 68 65 6e 0a 20 20 4c 4d 3d 22 24 61 63 5f 63 76  hen.  LM="$ac_cv
3720: 5f 73 65 61 72 63 68 5f 6c 6f 67 22 0a 65 6c 73  _search_log".els
3730: 65 0a 20 20 4c 4d 3d 0a 66 69 0a 41 43 5f 53 55  e.  LM=.fi.AC_SU
3740: 42 53 54 28 4c 4d 29 0a 0a 4a 45 5f 43 4f 4d 50  BST(LM)..JE_COMP
3750: 49 4c 41 42 4c 45 28 5b 5f 5f 61 74 74 72 69 62  ILABLE([__attrib
3760: 75 74 65 5f 5f 20 73 79 6e 74 61 78 5d 2c 0a 20  ute__ syntax],. 
3770: 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 73 74               [st
3780: 61 74 69 63 20 5f 5f 61 74 74 72 69 62 75 74 65  atic __attribute
3790: 5f 5f 28 28 75 6e 75 73 65 64 29 29 20 76 6f 69  __((unused)) voi
37a0: 64 20 66 6f 6f 28 76 6f 69 64 29 7b 7d 5d 2c 0a  d foo(void){}],.
37b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 5d                []
37c0: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ,.              
37d0: 5b 6a 65 5f 63 76 5f 61 74 74 72 69 62 75 74 65  [je_cv_attribute
37e0: 5d 29 0a 69 66 20 74 65 73 74 20 22 78 24 7b 6a  ]).if test "x${j
37f0: 65 5f 63 76 5f 61 74 74 72 69 62 75 74 65 7d 22  e_cv_attribute}"
3800: 20 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65 6e   = "xyes" ; then
3810: 0a 20 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45  .  AC_DEFINE([JE
3820: 4d 41 4c 4c 4f 43 5f 48 41 56 45 5f 41 54 54 52  MALLOC_HAVE_ATTR
3830: 5d 2c 20 5b 20 5d 29 0a 20 20 69 66 20 74 65 73  ], [ ]).  if tes
3840: 74 20 22 78 24 7b 47 43 43 7d 22 20 3d 20 22 78  t "x${GCC}" = "x
3850: 79 65 73 22 20 2d 61 20 22 78 24 7b 61 62 69 7d  yes" -a "x${abi}
3860: 22 20 3d 20 22 78 65 6c 66 22 3b 20 74 68 65 6e  " = "xelf"; then
3870: 0a 20 20 20 20 4a 45 5f 43 46 4c 41 47 53 5f 41  .    JE_CFLAGS_A
3880: 44 44 28 5b 2d 66 76 69 73 69 62 69 6c 69 74 79  DD([-fvisibility
3890: 3d 68 69 64 64 65 6e 5d 29 0a 20 20 66 69 0a 66  =hidden]).  fi.f
38a0: 69 0a 64 6e 6c 20 43 68 65 63 6b 20 66 6f 72 20  i.dnl Check for 
38b0: 74 6c 73 5f 6d 6f 64 65 6c 20 61 74 74 72 69 62  tls_model attrib
38c0: 75 74 65 20 73 75 70 70 6f 72 74 20 28 63 6c 61  ute support (cla
38d0: 6e 67 20 33 2e 30 20 73 74 69 6c 6c 20 6c 61 63  ng 3.0 still lac
38e0: 6b 73 20 73 75 70 70 6f 72 74 29 2e 0a 4a 45 5f  ks support)..JE_
38f0: 43 46 4c 41 47 53 5f 53 41 56 45 28 29 0a 4a 45  CFLAGS_SAVE().JE
3900: 5f 43 46 4c 41 47 53 5f 41 44 44 28 5b 2d 57 65  _CFLAGS_ADD([-We
3910: 72 72 6f 72 5d 29 0a 4a 45 5f 43 46 4c 41 47 53  rror]).JE_CFLAGS
3920: 5f 41 44 44 28 5b 2d 68 65 72 72 6f 72 5f 6f 6e  _ADD([-herror_on
3930: 5f 77 61 72 6e 69 6e 67 5d 29 0a 4a 45 5f 43 4f  _warning]).JE_CO
3940: 4d 50 49 4c 41 42 4c 45 28 5b 74 6c 73 5f 6d 6f  MPILABLE([tls_mo
3950: 64 65 6c 20 61 74 74 72 69 62 75 74 65 5d 2c 20  del attribute], 
3960: 5b 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  [],.            
3970: 20 20 5b 73 74 61 74 69 63 20 5f 5f 74 68 72 65    [static __thre
3980: 61 64 20 69 6e 74 0a 20 20 20 20 20 20 20 20 20  ad int.         
3990: 20 20 20 20 20 20 5f 5f 61 74 74 72 69 62 75 74        __attribut
39a0: 65 5f 5f 28 28 74 6c 73 5f 6d 6f 64 65 6c 28 22  e__((tls_model("
39b0: 69 6e 69 74 69 61 6c 2d 65 78 65 63 22 29 2c 20  initial-exec"), 
39c0: 75 6e 75 73 65 64 29 29 20 66 6f 6f 3b 0a 20 20  unused)) foo;.  
39d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 6f               foo
39e0: 20 3d 20 30 3b 5d 2c 0a 20 20 20 20 20 20 20 20   = 0;],.        
39f0: 20 20 20 20 20 20 5b 6a 65 5f 63 76 5f 74 6c 73        [je_cv_tls
3a00: 5f 6d 6f 64 65 6c 5d 29 0a 4a 45 5f 43 46 4c 41  _model]).JE_CFLA
3a10: 47 53 5f 52 45 53 54 4f 52 45 28 29 0a 69 66 20  GS_RESTORE().if 
3a20: 74 65 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f 74  test "x${je_cv_t
3a30: 6c 73 5f 6d 6f 64 65 6c 7d 22 20 3d 20 22 78 79  ls_model}" = "xy
3a40: 65 73 22 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f  es" ; then.  AC_
3a50: 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43  DEFINE([JEMALLOC
3a60: 5f 54 4c 53 5f 4d 4f 44 45 4c 5d 2c 0a 20 20 20  _TLS_MODEL],.   
3a70: 20 20 20 20 20 20 20 20 20 5b 5f 5f 61 74 74 72           [__attr
3a80: 69 62 75 74 65 5f 5f 28 28 74 6c 73 5f 6d 6f 64  ibute__((tls_mod
3a90: 65 6c 28 22 69 6e 69 74 69 61 6c 2d 65 78 65 63  el("initial-exec
3aa0: 22 29 29 29 5d 29 0a 65 6c 73 65 0a 20 20 41 43  ")))]).else.  AC
3ab0: 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f  _DEFINE([JEMALLO
3ac0: 43 5f 54 4c 53 5f 4d 4f 44 45 4c 5d 2c 20 5b 20  C_TLS_MODEL], [ 
3ad0: 5d 29 0a 66 69 0a 64 6e 6c 20 43 68 65 63 6b 20  ]).fi.dnl Check 
3ae0: 66 6f 72 20 61 6c 6c 6f 63 5f 73 69 7a 65 20 61  for alloc_size a
3af0: 74 74 72 69 62 75 74 65 20 73 75 70 70 6f 72 74  ttribute support
3b00: 2e 0a 4a 45 5f 43 46 4c 41 47 53 5f 53 41 56 45  ..JE_CFLAGS_SAVE
3b10: 28 29 0a 4a 45 5f 43 46 4c 41 47 53 5f 41 44 44  ().JE_CFLAGS_ADD
3b20: 28 5b 2d 57 65 72 72 6f 72 5d 29 0a 4a 45 5f 43  ([-Werror]).JE_C
3b30: 46 4c 41 47 53 5f 41 44 44 28 5b 2d 68 65 72 72  FLAGS_ADD([-herr
3b40: 6f 72 5f 6f 6e 5f 77 61 72 6e 69 6e 67 5d 29 0a  or_on_warning]).
3b50: 4a 45 5f 43 4f 4d 50 49 4c 41 42 4c 45 28 5b 61  JE_COMPILABLE([a
3b60: 6c 6c 6f 63 5f 73 69 7a 65 20 61 74 74 72 69 62  lloc_size attrib
3b70: 75 74 65 5d 2c 20 5b 23 69 6e 63 6c 75 64 65 20  ute], [#include 
3b80: 3c 73 74 64 6c 69 62 2e 68 3e 5d 2c 0a 20 20 20  <stdlib.h>],.   
3b90: 20 20 20 20 20 20 20 20 20 20 20 5b 76 6f 69 64             [void
3ba0: 20 2a 66 6f 6f 28 73 69 7a 65 5f 74 20 73 69 7a   *foo(size_t siz
3bb0: 65 29 20 5f 5f 61 74 74 72 69 62 75 74 65 5f 5f  e) __attribute__
3bc0: 28 28 61 6c 6c 6f 63 5f 73 69 7a 65 28 31 29 29  ((alloc_size(1))
3bd0: 29 3b 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  );],.           
3be0: 20 20 20 5b 6a 65 5f 63 76 5f 61 6c 6c 6f 63 5f     [je_cv_alloc_
3bf0: 73 69 7a 65 5d 29 0a 4a 45 5f 43 46 4c 41 47 53  size]).JE_CFLAGS
3c00: 5f 52 45 53 54 4f 52 45 28 29 0a 69 66 20 74 65  _RESTORE().if te
3c10: 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f 61 6c 6c  st "x${je_cv_all
3c20: 6f 63 5f 73 69 7a 65 7d 22 20 3d 20 22 78 79 65  oc_size}" = "xye
3c30: 73 22 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44  s" ; then.  AC_D
3c40: 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f  EFINE([JEMALLOC_
3c50: 48 41 56 45 5f 41 54 54 52 5f 41 4c 4c 4f 43 5f  HAVE_ATTR_ALLOC_
3c60: 53 49 5a 45 5d 2c 20 5b 20 5d 29 0a 66 69 0a 64  SIZE], [ ]).fi.d
3c70: 6e 6c 20 43 68 65 63 6b 20 66 6f 72 20 66 6f 72  nl Check for for
3c80: 6d 61 74 28 67 6e 75 5f 70 72 69 6e 74 66 2c 20  mat(gnu_printf, 
3c90: 2e 2e 2e 29 20 61 74 74 72 69 62 75 74 65 20 73  ...) attribute s
3ca0: 75 70 70 6f 72 74 2e 0a 4a 45 5f 43 46 4c 41 47  upport..JE_CFLAG
3cb0: 53 5f 53 41 56 45 28 29 0a 4a 45 5f 43 46 4c 41  S_SAVE().JE_CFLA
3cc0: 47 53 5f 41 44 44 28 5b 2d 57 65 72 72 6f 72 5d  GS_ADD([-Werror]
3cd0: 29 0a 4a 45 5f 43 46 4c 41 47 53 5f 41 44 44 28  ).JE_CFLAGS_ADD(
3ce0: 5b 2d 68 65 72 72 6f 72 5f 6f 6e 5f 77 61 72 6e  [-herror_on_warn
3cf0: 69 6e 67 5d 29 0a 4a 45 5f 43 4f 4d 50 49 4c 41  ing]).JE_COMPILA
3d00: 42 4c 45 28 5b 66 6f 72 6d 61 74 28 67 6e 75 5f  BLE([format(gnu_
3d10: 70 72 69 6e 74 66 2c 20 2e 2e 2e 29 20 61 74 74  printf, ...) att
3d20: 72 69 62 75 74 65 5d 2c 20 5b 23 69 6e 63 6c 75  ribute], [#inclu
3d30: 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e 5d 2c 0a  de <stdlib.h>],.
3d40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 76                [v
3d50: 6f 69 64 20 2a 66 6f 6f 28 63 6f 6e 73 74 20 63  oid *foo(const c
3d60: 68 61 72 20 2a 66 6f 72 6d 61 74 2c 20 2e 2e 2e  har *format, ...
3d70: 29 20 5f 5f 61 74 74 72 69 62 75 74 65 5f 5f 28  ) __attribute__(
3d80: 28 66 6f 72 6d 61 74 28 67 6e 75 5f 70 72 69 6e  (format(gnu_prin
3d90: 74 66 2c 20 31 2c 20 32 29 29 29 3b 5d 2c 0a 20  tf, 1, 2)));],. 
3da0: 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6a 65               [je
3db0: 5f 63 76 5f 66 6f 72 6d 61 74 5f 67 6e 75 5f 70  _cv_format_gnu_p
3dc0: 72 69 6e 74 66 5d 29 0a 4a 45 5f 43 46 4c 41 47  rintf]).JE_CFLAG
3dd0: 53 5f 52 45 53 54 4f 52 45 28 29 0a 69 66 20 74  S_RESTORE().if t
3de0: 65 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f 66 6f  est "x${je_cv_fo
3df0: 72 6d 61 74 5f 67 6e 75 5f 70 72 69 6e 74 66 7d  rmat_gnu_printf}
3e00: 22 20 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65  " = "xyes" ; the
3e10: 6e 0a 20 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a  n.  AC_DEFINE([J
3e20: 45 4d 41 4c 4c 4f 43 5f 48 41 56 45 5f 41 54 54  EMALLOC_HAVE_ATT
3e30: 52 5f 46 4f 52 4d 41 54 5f 47 4e 55 5f 50 52 49  R_FORMAT_GNU_PRI
3e40: 4e 54 46 5d 2c 20 5b 20 5d 29 0a 66 69 0a 64 6e  NTF], [ ]).fi.dn
3e50: 6c 20 43 68 65 63 6b 20 66 6f 72 20 66 6f 72 6d  l Check for form
3e60: 61 74 28 70 72 69 6e 74 66 2c 20 2e 2e 2e 29 20  at(printf, ...) 
3e70: 61 74 74 72 69 62 75 74 65 20 73 75 70 70 6f 72  attribute suppor
3e80: 74 2e 0a 4a 45 5f 43 46 4c 41 47 53 5f 53 41 56  t..JE_CFLAGS_SAV
3e90: 45 28 29 0a 4a 45 5f 43 46 4c 41 47 53 5f 41 44  E().JE_CFLAGS_AD
3ea0: 44 28 5b 2d 57 65 72 72 6f 72 5d 29 0a 4a 45 5f  D([-Werror]).JE_
3eb0: 43 46 4c 41 47 53 5f 41 44 44 28 5b 2d 68 65 72  CFLAGS_ADD([-her
3ec0: 72 6f 72 5f 6f 6e 5f 77 61 72 6e 69 6e 67 5d 29  ror_on_warning])
3ed0: 0a 4a 45 5f 43 4f 4d 50 49 4c 41 42 4c 45 28 5b  .JE_COMPILABLE([
3ee0: 66 6f 72 6d 61 74 28 70 72 69 6e 74 66 2c 20 2e  format(printf, .
3ef0: 2e 2e 29 20 61 74 74 72 69 62 75 74 65 5d 2c 20  ..) attribute], 
3f00: 5b 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 6c 69  [#include <stdli
3f10: 62 2e 68 3e 5d 2c 0a 20 20 20 20 20 20 20 20 20  b.h>],.         
3f20: 20 20 20 20 20 5b 76 6f 69 64 20 2a 66 6f 6f 28       [void *foo(
3f30: 63 6f 6e 73 74 20 63 68 61 72 20 2a 66 6f 72 6d  const char *form
3f40: 61 74 2c 20 2e 2e 2e 29 20 5f 5f 61 74 74 72 69  at, ...) __attri
3f50: 62 75 74 65 5f 5f 28 28 66 6f 72 6d 61 74 28 70  bute__((format(p
3f60: 72 69 6e 74 66 2c 20 31 2c 20 32 29 29 29 3b 5d  rintf, 1, 2)));]
3f70: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ,.              
3f80: 5b 6a 65 5f 63 76 5f 66 6f 72 6d 61 74 5f 70 72  [je_cv_format_pr
3f90: 69 6e 74 66 5d 29 0a 4a 45 5f 43 46 4c 41 47 53  intf]).JE_CFLAGS
3fa0: 5f 52 45 53 54 4f 52 45 28 29 0a 69 66 20 74 65  _RESTORE().if te
3fb0: 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f 66 6f 72  st "x${je_cv_for
3fc0: 6d 61 74 5f 70 72 69 6e 74 66 7d 22 20 3d 20 22  mat_printf}" = "
3fd0: 78 79 65 73 22 20 3b 20 74 68 65 6e 0a 20 20 41  xyes" ; then.  A
3fe0: 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c  C_DEFINE([JEMALL
3ff0: 4f 43 5f 48 41 56 45 5f 41 54 54 52 5f 46 4f 52  OC_HAVE_ATTR_FOR
4000: 4d 41 54 5f 50 52 49 4e 54 46 5d 2c 20 5b 20 5d  MAT_PRINTF], [ ]
4010: 29 0a 66 69 0a 0a 64 6e 6c 20 53 75 70 70 6f 72  ).fi..dnl Suppor
4020: 74 20 6f 70 74 69 6f 6e 61 6c 20 61 64 64 69 74  t optional addit
4030: 69 6f 6e 73 20 74 6f 20 72 70 61 74 68 2e 0a 41  ions to rpath..A
4040: 43 5f 41 52 47 5f 57 49 54 48 28 5b 72 70 61 74  C_ARG_WITH([rpat
4050: 68 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c 50 5f 53  h],.  [AS_HELP_S
4060: 54 52 49 4e 47 28 5b 2d 2d 77 69 74 68 2d 72 70  TRING([--with-rp
4070: 61 74 68 3d 3c 72 70 61 74 68 3e 5d 2c 20 5b 43  ath=<rpath>], [C
4080: 6f 6c 6f 6e 2d 73 65 70 61 72 61 74 65 64 20 72  olon-separated r
4090: 70 61 74 68 20 28 45 4c 46 20 73 79 73 74 65 6d  path (ELF system
40a0: 73 20 6f 6e 6c 79 29 5d 29 5d 2c 0a 69 66 20 74  s only)])],.if t
40b0: 65 73 74 20 22 78 24 77 69 74 68 5f 72 70 61 74  est "x$with_rpat
40c0: 68 22 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65  h" = "xno" ; the
40d0: 6e 0a 20 20 52 50 41 54 48 5f 45 58 54 52 41 3d  n.  RPATH_EXTRA=
40e0: 0a 65 6c 73 65 0a 20 20 52 50 41 54 48 5f 45 58  .else.  RPATH_EX
40f0: 54 52 41 3d 22 60 65 63 68 6f 20 24 77 69 74 68  TRA="`echo $with
4100: 5f 72 70 61 74 68 20 7c 20 74 72 20 5c 22 3a 5c  _rpath | tr \":\
4110: 22 20 5c 22 20 5c 22 60 22 0a 66 69 2c 0a 20 20  " \" \"`".fi,.  
4120: 52 50 41 54 48 5f 45 58 54 52 41 3d 0a 29 0a 41  RPATH_EXTRA=.).A
4130: 43 5f 53 55 42 53 54 28 5b 52 50 41 54 48 5f 45  C_SUBST([RPATH_E
4140: 58 54 52 41 5d 29 0a 0a 64 6e 6c 20 44 69 73 61  XTRA])..dnl Disa
4150: 62 6c 65 20 72 75 6c 65 73 20 74 68 61 74 20 64  ble rules that d
4160: 6f 20 61 75 74 6f 6d 61 74 69 63 20 72 65 67 65  o automatic rege
4170: 6e 65 72 61 74 69 6f 6e 20 6f 66 20 63 6f 6e 66  neration of conf
4180: 69 67 75 72 65 20 6f 75 74 70 75 74 20 62 79 20  igure output by 
4190: 64 65 66 61 75 6c 74 2e 0a 41 43 5f 41 52 47 5f  default..AC_ARG_
41a0: 45 4e 41 42 4c 45 28 5b 61 75 74 6f 67 65 6e 5d  ENABLE([autogen]
41b0: 2c 0a 20 20 5b 41 53 5f 48 45 4c 50 5f 53 54 52  ,.  [AS_HELP_STR
41c0: 49 4e 47 28 5b 2d 2d 65 6e 61 62 6c 65 2d 61 75  ING([--enable-au
41d0: 74 6f 67 65 6e 5d 2c 20 5b 41 75 74 6f 6d 61 74  togen], [Automat
41e0: 69 63 61 6c 6c 79 20 72 65 67 65 6e 65 72 61 74  ically regenerat
41f0: 65 20 63 6f 6e 66 69 67 75 72 65 20 6f 75 74 70  e configure outp
4200: 75 74 5d 29 5d 2c 0a 69 66 20 74 65 73 74 20 22  ut])],.if test "
4210: 78 24 65 6e 61 62 6c 65 5f 61 75 74 6f 67 65 6e  x$enable_autogen
4220: 22 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65 6e  " = "xno" ; then
4230: 0a 20 20 65 6e 61 62 6c 65 5f 61 75 74 6f 67 65  .  enable_autoge
4240: 6e 3d 22 30 22 0a 65 6c 73 65 0a 20 20 65 6e 61  n="0".else.  ena
4250: 62 6c 65 5f 61 75 74 6f 67 65 6e 3d 22 31 22 0a  ble_autogen="1".
4260: 66 69 0a 2c 0a 65 6e 61 62 6c 65 5f 61 75 74 6f  fi.,.enable_auto
4270: 67 65 6e 3d 22 30 22 0a 29 0a 41 43 5f 53 55 42  gen="0".).AC_SUB
4280: 53 54 28 5b 65 6e 61 62 6c 65 5f 61 75 74 6f 67  ST([enable_autog
4290: 65 6e 5d 29 0a 0a 41 43 5f 50 52 4f 47 5f 49 4e  en])..AC_PROG_IN
42a0: 53 54 41 4c 4c 0a 41 43 5f 50 52 4f 47 5f 52 41  STALL.AC_PROG_RA
42b0: 4e 4c 49 42 0a 41 43 5f 50 41 54 48 5f 50 52 4f  NLIB.AC_PATH_PRO
42c0: 47 28 5b 4c 44 5d 2c 20 5b 6c 64 5d 2c 20 5b 66  G([LD], [ld], [f
42d0: 61 6c 73 65 5d 2c 20 5b 24 50 41 54 48 5d 29 0a  alse], [$PATH]).
42e0: 41 43 5f 50 41 54 48 5f 50 52 4f 47 28 5b 41 55  AC_PATH_PROG([AU
42f0: 54 4f 43 4f 4e 46 5d 2c 20 5b 61 75 74 6f 63 6f  TOCONF], [autoco
4300: 6e 66 5d 2c 20 5b 66 61 6c 73 65 5d 2c 20 5b 24  nf], [false], [$
4310: 50 41 54 48 5d 29 0a 0a 70 75 62 6c 69 63 5f 73  PATH])..public_s
4320: 79 6d 73 3d 22 6d 61 6c 6c 6f 63 5f 63 6f 6e 66  yms="malloc_conf
4330: 20 6d 61 6c 6c 6f 63 5f 6d 65 73 73 61 67 65 20   malloc_message 
4340: 6d 61 6c 6c 6f 63 20 63 61 6c 6c 6f 63 20 70 6f  malloc calloc po
4350: 73 69 78 5f 6d 65 6d 61 6c 69 67 6e 20 61 6c 69  six_memalign ali
4360: 67 6e 65 64 5f 61 6c 6c 6f 63 20 72 65 61 6c 6c  gned_alloc reall
4370: 6f 63 20 66 72 65 65 20 6d 61 6c 6c 6f 63 78 20  oc free mallocx 
4380: 72 61 6c 6c 6f 63 78 20 78 61 6c 6c 6f 63 78 20  rallocx xallocx 
4390: 73 61 6c 6c 6f 63 78 20 64 61 6c 6c 6f 63 78 20  sallocx dallocx 
43a0: 73 64 61 6c 6c 6f 63 78 20 6e 61 6c 6c 6f 63 78  sdallocx nallocx
43b0: 20 6d 61 6c 6c 63 74 6c 20 6d 61 6c 6c 63 74 6c   mallctl mallctl
43c0: 6e 61 6d 65 74 6f 6d 69 62 20 6d 61 6c 6c 63 74  nametomib mallct
43d0: 6c 62 79 6d 69 62 20 6d 61 6c 6c 6f 63 5f 73 74  lbymib malloc_st
43e0: 61 74 73 5f 70 72 69 6e 74 20 6d 61 6c 6c 6f 63  ats_print malloc
43f0: 5f 75 73 61 62 6c 65 5f 73 69 7a 65 22 0a 0a 64  _usable_size"..d
4400: 6e 6c 20 43 68 65 63 6b 20 66 6f 72 20 61 6c 6c  nl Check for all
4410: 6f 63 61 74 6f 72 2d 72 65 6c 61 74 65 64 20 66  ocator-related f
4420: 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 73 68  unctions that sh
4430: 6f 75 6c 64 20 62 65 20 77 72 61 70 70 65 64 2e  ould be wrapped.
4440: 0a 41 43 5f 43 48 45 43 4b 5f 46 55 4e 43 28 5b  .AC_CHECK_FUNC([
4450: 6d 65 6d 61 6c 69 67 6e 5d 2c 0a 09 20 20 20 20  memalign],..    
4460: 20 20 5b 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45    [AC_DEFINE([JE
4470: 4d 41 4c 4c 4f 43 5f 4f 56 45 52 52 49 44 45 5f  MALLOC_OVERRIDE_
4480: 4d 45 4d 41 4c 49 47 4e 5d 2c 20 5b 20 5d 29 0a  MEMALIGN], [ ]).
4490: 09 20 20 20 20 20 20 20 70 75 62 6c 69 63 5f 73  .       public_s
44a0: 79 6d 73 3d 22 24 7b 70 75 62 6c 69 63 5f 73 79  yms="${public_sy
44b0: 6d 73 7d 20 6d 65 6d 61 6c 69 67 6e 22 5d 29 0a  ms} memalign"]).
44c0: 41 43 5f 43 48 45 43 4b 5f 46 55 4e 43 28 5b 76  AC_CHECK_FUNC([v
44d0: 61 6c 6c 6f 63 5d 2c 0a 09 20 20 20 20 20 20 5b  alloc],..      [
44e0: 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c  AC_DEFINE([JEMAL
44f0: 4c 4f 43 5f 4f 56 45 52 52 49 44 45 5f 56 41 4c  LOC_OVERRIDE_VAL
4500: 4c 4f 43 5d 2c 20 5b 20 5d 29 0a 09 20 20 20 20  LOC], [ ])..    
4510: 20 20 20 70 75 62 6c 69 63 5f 73 79 6d 73 3d 22     public_syms="
4520: 24 7b 70 75 62 6c 69 63 5f 73 79 6d 73 7d 20 76  ${public_syms} v
4530: 61 6c 6c 6f 63 22 5d 29 0a 0a 64 6e 6c 20 44 6f  alloc"])..dnl Do
4540: 20 6e 6f 74 20 63 6f 6d 70 75 74 65 20 74 65 73   not compute tes
4550: 74 20 63 6f 64 65 20 63 6f 76 65 72 61 67 65 20  t code coverage 
4560: 62 79 20 64 65 66 61 75 6c 74 2e 0a 47 43 4f 56  by default..GCOV
4570: 5f 46 4c 41 47 53 3d 0a 41 43 5f 41 52 47 5f 45  _FLAGS=.AC_ARG_E
4580: 4e 41 42 4c 45 28 5b 63 6f 64 65 2d 63 6f 76 65  NABLE([code-cove
4590: 72 61 67 65 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c  rage],.  [AS_HEL
45a0: 50 5f 53 54 52 49 4e 47 28 5b 2d 2d 65 6e 61 62  P_STRING([--enab
45b0: 6c 65 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65  le-code-coverage
45c0: 5d 2c 0a 20 20 20 5b 45 6e 61 62 6c 65 20 63 6f  ],.   [Enable co
45d0: 64 65 20 63 6f 76 65 72 61 67 65 5d 29 5d 2c 0a  de coverage])],.
45e0: 5b 69 66 20 74 65 73 74 20 22 78 24 65 6e 61 62  [if test "x$enab
45f0: 6c 65 5f 63 6f 64 65 5f 63 6f 76 65 72 61 67 65  le_code_coverage
4600: 22 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65 6e  " = "xno" ; then
4610: 0a 20 20 65 6e 61 62 6c 65 5f 63 6f 64 65 5f 63  .  enable_code_c
4620: 6f 76 65 72 61 67 65 3d 22 30 22 0a 65 6c 73 65  overage="0".else
4630: 0a 20 20 65 6e 61 62 6c 65 5f 63 6f 64 65 5f 63  .  enable_code_c
4640: 6f 76 65 72 61 67 65 3d 22 31 22 0a 66 69 0a 5d  overage="1".fi.]
4650: 2c 0a 5b 65 6e 61 62 6c 65 5f 63 6f 64 65 5f 63  ,.[enable_code_c
4660: 6f 76 65 72 61 67 65 3d 22 30 22 5d 0a 29 0a 69  overage="0"].).i
4670: 66 20 74 65 73 74 20 22 78 24 65 6e 61 62 6c 65  f test "x$enable
4680: 5f 63 6f 64 65 5f 63 6f 76 65 72 61 67 65 22 20  _code_coverage" 
4690: 3d 20 22 78 31 22 20 3b 20 74 68 65 6e 0a 20 20  = "x1" ; then.  
46a0: 64 65 6f 70 74 69 6d 69 7a 65 3d 22 6e 6f 22 0a  deoptimize="no".
46b0: 20 20 65 63 68 6f 20 22 24 43 46 4c 41 47 53 20    echo "$CFLAGS 
46c0: 24 45 58 54 52 41 5f 43 46 4c 41 47 53 22 20 7c  $EXTRA_CFLAGS" |
46d0: 20 67 72 65 70 20 27 5c 2d 4f 27 20 3e 2f 64 65   grep '\-O' >/de
46e0: 76 2f 6e 75 6c 6c 20 7c 7c 20 64 65 6f 70 74 69  v/null || deopti
46f0: 6d 69 7a 65 3d 22 79 65 73 22 0a 20 20 69 66 20  mize="yes".  if 
4700: 74 65 73 74 20 22 78 24 7b 64 65 6f 70 74 69 6d  test "x${deoptim
4710: 69 7a 65 7d 22 20 3d 20 22 78 79 65 73 22 20 3b  ize}" = "xyes" ;
4720: 20 74 68 65 6e 0a 20 20 20 20 4a 45 5f 43 46 4c   then.    JE_CFL
4730: 41 47 53 5f 41 44 44 28 5b 2d 4f 30 5d 29 0a 20  AGS_ADD([-O0]). 
4740: 20 66 69 0a 20 20 4a 45 5f 43 46 4c 41 47 53 5f   fi.  JE_CFLAGS_
4750: 41 44 44 28 5b 2d 66 70 72 6f 66 69 6c 65 2d 61  ADD([-fprofile-a
4760: 72 63 73 20 2d 66 74 65 73 74 2d 63 6f 76 65 72  rcs -ftest-cover
4770: 61 67 65 5d 29 0a 20 20 45 58 54 52 41 5f 4c 44  age]).  EXTRA_LD
4780: 46 4c 41 47 53 3d 22 24 45 58 54 52 41 5f 4c 44  FLAGS="$EXTRA_LD
4790: 46 4c 41 47 53 20 2d 66 70 72 6f 66 69 6c 65 2d  FLAGS -fprofile-
47a0: 61 72 63 73 20 2d 66 74 65 73 74 2d 63 6f 76 65  arcs -ftest-cove
47b0: 72 61 67 65 22 0a 20 20 41 43 5f 44 45 46 49 4e  rage".  AC_DEFIN
47c0: 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 43 4f 44 45  E([JEMALLOC_CODE
47d0: 5f 43 4f 56 45 52 41 47 45 5d 2c 20 5b 20 5d 29  _COVERAGE], [ ])
47e0: 0a 66 69 0a 41 43 5f 53 55 42 53 54 28 5b 65 6e  .fi.AC_SUBST([en
47f0: 61 62 6c 65 5f 63 6f 64 65 5f 63 6f 76 65 72 61  able_code_covera
4800: 67 65 5d 29 0a 0a 64 6e 6c 20 50 65 72 66 6f 72  ge])..dnl Perfor
4810: 6d 20 6e 6f 20 6e 61 6d 65 20 6d 61 6e 67 6c 69  m no name mangli
4820: 6e 67 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 41  ng by default..A
4830: 43 5f 41 52 47 5f 57 49 54 48 28 5b 6d 61 6e 67  C_ARG_WITH([mang
4840: 6c 69 6e 67 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c  ling],.  [AS_HEL
4850: 50 5f 53 54 52 49 4e 47 28 5b 2d 2d 77 69 74 68  P_STRING([--with
4860: 2d 6d 61 6e 67 6c 69 6e 67 3d 3c 6d 61 70 3e 5d  -mangling=<map>]
4870: 2c 20 5b 4d 61 6e 67 6c 65 20 73 79 6d 62 6f 6c  , [Mangle symbol
4880: 73 20 69 6e 20 3c 6d 61 70 3e 5d 29 5d 2c 0a 20  s in <map>])],. 
4890: 20 5b 6d 61 6e 67 6c 69 6e 67 5f 6d 61 70 3d 22   [mangling_map="
48a0: 24 77 69 74 68 5f 6d 61 6e 67 6c 69 6e 67 22 5d  $with_mangling"]
48b0: 2c 20 5b 6d 61 6e 67 6c 69 6e 67 5f 6d 61 70 3d  , [mangling_map=
48c0: 22 22 5d 29 0a 0a 64 6e 6c 20 44 6f 20 6e 6f 74  ""])..dnl Do not
48d0: 20 70 72 65 66 69 78 20 70 75 62 6c 69 63 20 41   prefix public A
48e0: 50 49 73 20 62 79 20 64 65 66 61 75 6c 74 2e 0a  PIs by default..
48f0: 41 43 5f 41 52 47 5f 57 49 54 48 28 5b 6a 65 6d  AC_ARG_WITH([jem
4900: 61 6c 6c 6f 63 5f 70 72 65 66 69 78 5d 2c 0a 20  alloc_prefix],. 
4910: 20 5b 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e 47   [AS_HELP_STRING
4920: 28 5b 2d 2d 77 69 74 68 2d 6a 65 6d 61 6c 6c 6f  ([--with-jemallo
4930: 63 2d 70 72 65 66 69 78 3d 3c 70 72 65 66 69 78  c-prefix=<prefix
4940: 3e 5d 2c 20 5b 50 72 65 66 69 78 20 74 6f 20 70  >], [Prefix to p
4950: 72 65 70 65 6e 64 20 74 6f 20 61 6c 6c 20 70 75  repend to all pu
4960: 62 6c 69 63 20 41 50 49 73 5d 29 5d 2c 0a 20 20  blic APIs])],.  
4970: 5b 4a 45 4d 41 4c 4c 4f 43 5f 50 52 45 46 49 58  [JEMALLOC_PREFIX
4980: 3d 22 24 77 69 74 68 5f 6a 65 6d 61 6c 6c 6f 63  ="$with_jemalloc
4990: 5f 70 72 65 66 69 78 22 5d 2c 0a 20 20 5b 69 66  _prefix"],.  [if
49a0: 20 74 65 73 74 20 22 78 24 61 62 69 22 20 21 3d   test "x$abi" !=
49b0: 20 22 78 6d 61 63 68 6f 22 20 2d 61 20 22 78 24   "xmacho" -a "x$
49c0: 61 62 69 22 20 21 3d 20 22 78 70 65 63 6f 66 66  abi" != "xpecoff
49d0: 22 3b 20 74 68 65 6e 0a 20 20 4a 45 4d 41 4c 4c  "; then.  JEMALL
49e0: 4f 43 5f 50 52 45 46 49 58 3d 22 22 0a 65 6c 73  OC_PREFIX="".els
49f0: 65 0a 20 20 4a 45 4d 41 4c 4c 4f 43 5f 50 52 45  e.  JEMALLOC_PRE
4a00: 46 49 58 3d 22 6a 65 5f 22 0a 66 69 5d 0a 29 0a  FIX="je_".fi].).
4a10: 69 66 20 74 65 73 74 20 22 78 24 4a 45 4d 41 4c  if test "x$JEMAL
4a20: 4c 4f 43 5f 50 52 45 46 49 58 22 20 21 3d 20 22  LOC_PREFIX" != "
4a30: 78 22 20 3b 20 74 68 65 6e 0a 20 20 4a 45 4d 41  x" ; then.  JEMA
4a40: 4c 4c 4f 43 5f 43 50 52 45 46 49 58 3d 60 65 63  LLOC_CPREFIX=`ec
4a50: 68 6f 20 24 7b 4a 45 4d 41 4c 4c 4f 43 5f 50 52  ho ${JEMALLOC_PR
4a60: 45 46 49 58 7d 20 7c 20 74 72 20 22 61 2d 7a 22  EFIX} | tr "a-z"
4a70: 20 22 41 2d 5a 22 60 0a 20 20 41 43 5f 44 45 46   "A-Z"`.  AC_DEF
4a80: 49 4e 45 5f 55 4e 51 55 4f 54 45 44 28 5b 4a 45  INE_UNQUOTED([JE
4a90: 4d 41 4c 4c 4f 43 5f 50 52 45 46 49 58 5d 2c 20  MALLOC_PREFIX], 
4aa0: 5b 22 24 4a 45 4d 41 4c 4c 4f 43 5f 50 52 45 46  ["$JEMALLOC_PREF
4ab0: 49 58 22 5d 29 0a 20 20 41 43 5f 44 45 46 49 4e  IX"]).  AC_DEFIN
4ac0: 45 5f 55 4e 51 55 4f 54 45 44 28 5b 4a 45 4d 41  E_UNQUOTED([JEMA
4ad0: 4c 4c 4f 43 5f 43 50 52 45 46 49 58 5d 2c 20 5b  LLOC_CPREFIX], [
4ae0: 22 24 4a 45 4d 41 4c 4c 4f 43 5f 43 50 52 45 46  "$JEMALLOC_CPREF
4af0: 49 58 22 5d 29 0a 66 69 0a 41 43 5f 53 55 42 53  IX"]).fi.AC_SUBS
4b00: 54 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 43 50 52 45  T([JEMALLOC_CPRE
4b10: 46 49 58 5d 29 0a 0a 41 43 5f 41 52 47 5f 57 49  FIX])..AC_ARG_WI
4b20: 54 48 28 5b 65 78 70 6f 72 74 5d 2c 0a 20 20 5b  TH([export],.  [
4b30: 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e 47 28 5b  AS_HELP_STRING([
4b40: 2d 2d 77 69 74 68 6f 75 74 2d 65 78 70 6f 72 74  --without-export
4b50: 5d 2c 20 5b 64 69 73 61 62 6c 65 20 65 78 70 6f  ], [disable expo
4b60: 72 74 69 6e 67 20 6a 65 6d 61 6c 6c 6f 63 20 70  rting jemalloc p
4b70: 75 62 6c 69 63 20 41 50 49 73 5d 29 5d 2c 0a 20  ublic APIs])],. 
4b80: 20 5b 69 66 20 74 65 73 74 20 22 78 24 77 69 74   [if test "x$wit
4b90: 68 5f 65 78 70 6f 72 74 22 20 3d 20 22 78 6e 6f  h_export" = "xno
4ba0: 22 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45 46  "; then.  AC_DEF
4bb0: 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 45 58  INE([JEMALLOC_EX
4bc0: 50 4f 52 54 5d 2c 5b 5d 29 0a 66 69 5d 0a 29 0a  PORT],[]).fi].).
4bd0: 0a 64 6e 6c 20 4d 61 6e 67 6c 65 20 6c 69 62 72  .dnl Mangle libr
4be0: 61 72 79 2d 70 72 69 76 61 74 65 20 41 50 49 73  ary-private APIs
4bf0: 2e 0a 41 43 5f 41 52 47 5f 57 49 54 48 28 5b 70  ..AC_ARG_WITH([p
4c00: 72 69 76 61 74 65 5f 6e 61 6d 65 73 70 61 63 65  rivate_namespace
4c10: 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c 50 5f 53 54  ],.  [AS_HELP_ST
4c20: 52 49 4e 47 28 5b 2d 2d 77 69 74 68 2d 70 72 69  RING([--with-pri
4c30: 76 61 74 65 2d 6e 61 6d 65 73 70 61 63 65 3d 3c  vate-namespace=<
4c40: 70 72 65 66 69 78 3e 5d 2c 20 5b 50 72 65 66 69  prefix>], [Prefi
4c50: 78 20 74 6f 20 70 72 65 70 65 6e 64 20 74 6f 20  x to prepend to 
4c60: 61 6c 6c 20 6c 69 62 72 61 72 79 2d 70 72 69 76  all library-priv
4c70: 61 74 65 20 41 50 49 73 5d 29 5d 2c 0a 20 20 5b  ate APIs])],.  [
4c80: 4a 45 4d 41 4c 4c 4f 43 5f 50 52 49 56 41 54 45  JEMALLOC_PRIVATE
4c90: 5f 4e 41 4d 45 53 50 41 43 45 3d 22 24 7b 77 69  _NAMESPACE="${wi
4ca0: 74 68 5f 70 72 69 76 61 74 65 5f 6e 61 6d 65 73  th_private_names
4cb0: 70 61 63 65 7d 6a 65 5f 22 5d 2c 0a 20 20 5b 4a  pace}je_"],.  [J
4cc0: 45 4d 41 4c 4c 4f 43 5f 50 52 49 56 41 54 45 5f  EMALLOC_PRIVATE_
4cd0: 4e 41 4d 45 53 50 41 43 45 3d 22 6a 65 5f 22 5d  NAMESPACE="je_"]
4ce0: 0a 29 0a 41 43 5f 44 45 46 49 4e 45 5f 55 4e 51  .).AC_DEFINE_UNQ
4cf0: 55 4f 54 45 44 28 5b 4a 45 4d 41 4c 4c 4f 43 5f  UOTED([JEMALLOC_
4d00: 50 52 49 56 41 54 45 5f 4e 41 4d 45 53 50 41 43  PRIVATE_NAMESPAC
4d10: 45 5d 2c 20 5b 24 4a 45 4d 41 4c 4c 4f 43 5f 50  E], [$JEMALLOC_P
4d20: 52 49 56 41 54 45 5f 4e 41 4d 45 53 50 41 43 45  RIVATE_NAMESPACE
4d30: 5d 29 0a 70 72 69 76 61 74 65 5f 6e 61 6d 65 73  ]).private_names
4d40: 70 61 63 65 3d 22 24 4a 45 4d 41 4c 4c 4f 43 5f  pace="$JEMALLOC_
4d50: 50 52 49 56 41 54 45 5f 4e 41 4d 45 53 50 41 43  PRIVATE_NAMESPAC
4d60: 45 22 0a 41 43 5f 53 55 42 53 54 28 5b 70 72 69  E".AC_SUBST([pri
4d70: 76 61 74 65 5f 6e 61 6d 65 73 70 61 63 65 5d 29  vate_namespace])
4d80: 0a 0a 64 6e 6c 20 44 6f 20 6e 6f 74 20 61 64 64  ..dnl Do not add
4d90: 20 73 75 66 66 69 78 20 74 6f 20 69 6e 73 74 61   suffix to insta
4da0: 6c 6c 65 64 20 66 69 6c 65 73 20 62 79 20 64 65  lled files by de
4db0: 66 61 75 6c 74 2e 0a 41 43 5f 41 52 47 5f 57 49  fault..AC_ARG_WI
4dc0: 54 48 28 5b 69 6e 73 74 61 6c 6c 5f 73 75 66 66  TH([install_suff
4dd0: 69 78 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c 50 5f  ix],.  [AS_HELP_
4de0: 53 54 52 49 4e 47 28 5b 2d 2d 77 69 74 68 2d 69  STRING([--with-i
4df0: 6e 73 74 61 6c 6c 2d 73 75 66 66 69 78 3d 3c 73  nstall-suffix=<s
4e00: 75 66 66 69 78 3e 5d 2c 20 5b 53 75 66 66 69 78  uffix>], [Suffix
4e10: 20 74 6f 20 61 70 70 65 6e 64 20 74 6f 20 61 6c   to append to al
4e20: 6c 20 69 6e 73 74 61 6c 6c 65 64 20 66 69 6c 65  l installed file
4e30: 73 5d 29 5d 2c 0a 20 20 5b 49 4e 53 54 41 4c 4c  s])],.  [INSTALL
4e40: 5f 53 55 46 46 49 58 3d 22 24 77 69 74 68 5f 69  _SUFFIX="$with_i
4e50: 6e 73 74 61 6c 6c 5f 73 75 66 66 69 78 22 5d 2c  nstall_suffix"],
4e60: 0a 20 20 5b 49 4e 53 54 41 4c 4c 5f 53 55 46 46  .  [INSTALL_SUFF
4e70: 49 58 3d 5d 0a 29 0a 69 6e 73 74 61 6c 6c 5f 73  IX=].).install_s
4e80: 75 66 66 69 78 3d 22 24 49 4e 53 54 41 4c 4c 5f  uffix="$INSTALL_
4e90: 53 55 46 46 49 58 22 0a 41 43 5f 53 55 42 53 54  SUFFIX".AC_SUBST
4ea0: 28 5b 69 6e 73 74 61 6c 6c 5f 73 75 66 66 69 78  ([install_suffix
4eb0: 5d 29 0a 0a 64 6e 6c 20 53 70 65 63 69 66 79 20  ])..dnl Specify 
4ec0: 64 65 66 61 75 6c 74 20 6d 61 6c 6c 6f 63 5f 63  default malloc_c
4ed0: 6f 6e 66 2e 0a 41 43 5f 41 52 47 5f 57 49 54 48  onf..AC_ARG_WITH
4ee0: 28 5b 6d 61 6c 6c 6f 63 5f 63 6f 6e 66 5d 2c 0a  ([malloc_conf],.
4ef0: 20 20 5b 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e    [AS_HELP_STRIN
4f00: 47 28 5b 2d 2d 77 69 74 68 2d 6d 61 6c 6c 6f 63  G([--with-malloc
4f10: 2d 63 6f 6e 66 3d 3c 6d 61 6c 6c 6f 63 5f 63 6f  -conf=<malloc_co
4f20: 6e 66 3e 5d 2c 20 5b 63 6f 6e 66 69 67 2e 6d 61  nf>], [config.ma
4f30: 6c 6c 6f 63 5f 63 6f 6e 66 20 6f 70 74 69 6f 6e  lloc_conf option
4f40: 73 20 73 74 72 69 6e 67 5d 29 5d 2c 0a 20 20 5b  s string])],.  [
4f50: 4a 45 4d 41 4c 4c 4f 43 5f 43 4f 4e 46 49 47 5f  JEMALLOC_CONFIG_
4f60: 4d 41 4c 4c 4f 43 5f 43 4f 4e 46 3d 22 24 77 69  MALLOC_CONF="$wi
4f70: 74 68 5f 6d 61 6c 6c 6f 63 5f 63 6f 6e 66 22 5d  th_malloc_conf"]
4f80: 2c 0a 20 20 5b 4a 45 4d 41 4c 4c 4f 43 5f 43 4f  ,.  [JEMALLOC_CO
4f90: 4e 46 49 47 5f 4d 41 4c 4c 4f 43 5f 43 4f 4e 46  NFIG_MALLOC_CONF
4fa0: 3d 22 22 5d 0a 29 0a 63 6f 6e 66 69 67 5f 6d 61  =""].).config_ma
4fb0: 6c 6c 6f 63 5f 63 6f 6e 66 3d 22 24 4a 45 4d 41  lloc_conf="$JEMA
4fc0: 4c 4c 4f 43 5f 43 4f 4e 46 49 47 5f 4d 41 4c 4c  LLOC_CONFIG_MALL
4fd0: 4f 43 5f 43 4f 4e 46 22 0a 41 43 5f 44 45 46 49  OC_CONF".AC_DEFI
4fe0: 4e 45 5f 55 4e 51 55 4f 54 45 44 28 5b 4a 45 4d  NE_UNQUOTED([JEM
4ff0: 41 4c 4c 4f 43 5f 43 4f 4e 46 49 47 5f 4d 41 4c  ALLOC_CONFIG_MAL
5000: 4c 4f 43 5f 43 4f 4e 46 5d 2c 20 5b 22 24 63 6f  LOC_CONF], ["$co
5010: 6e 66 69 67 5f 6d 61 6c 6c 6f 63 5f 63 6f 6e 66  nfig_malloc_conf
5020: 22 5d 29 0a 0a 64 6e 6c 20 53 75 62 73 74 69 74  "])..dnl Substit
5030: 75 74 65 20 40 6a 65 5f 40 20 69 6e 20 6a 65 6d  ute @je_@ in jem
5040: 61 6c 6c 6f 63 5f 70 72 6f 74 6f 73 2e 68 2e 69  alloc_protos.h.i
5050: 6e 2c 20 70 72 69 6d 61 72 69 6c 79 20 74 6f 20  n, primarily to 
5060: 6d 61 6b 65 20 67 65 6e 65 72 61 74 69 6f 6e 20  make generation 
5070: 6f 66 0a 64 6e 6c 20 6a 65 6d 61 6c 6c 6f 63 5f  of.dnl jemalloc_
5080: 70 72 6f 74 6f 73 5f 6a 65 74 2e 68 20 65 61 73  protos_jet.h eas
5090: 79 2e 0a 6a 65 5f 3d 22 6a 65 5f 22 0a 41 43 5f  y..je_="je_".AC_
50a0: 53 55 42 53 54 28 5b 6a 65 5f 5d 29 0a 0a 63 66  SUBST([je_])..cf
50b0: 67 6f 75 74 70 75 74 73 5f 69 6e 3d 22 4d 61 6b  goutputs_in="Mak
50c0: 65 66 69 6c 65 2e 69 6e 22 0a 63 66 67 6f 75 74  efile.in".cfgout
50d0: 70 75 74 73 5f 69 6e 3d 22 24 7b 63 66 67 6f 75  puts_in="${cfgou
50e0: 74 70 75 74 73 5f 69 6e 7d 20 6a 65 6d 61 6c 6c  tputs_in} jemall
50f0: 6f 63 2e 70 63 2e 69 6e 22 0a 63 66 67 6f 75 74  oc.pc.in".cfgout
5100: 70 75 74 73 5f 69 6e 3d 22 24 7b 63 66 67 6f 75  puts_in="${cfgou
5110: 74 70 75 74 73 5f 69 6e 7d 20 64 6f 63 2f 68 74  tputs_in} doc/ht
5120: 6d 6c 2e 78 73 6c 2e 69 6e 22 0a 63 66 67 6f 75  ml.xsl.in".cfgou
5130: 74 70 75 74 73 5f 69 6e 3d 22 24 7b 63 66 67 6f  tputs_in="${cfgo
5140: 75 74 70 75 74 73 5f 69 6e 7d 20 64 6f 63 2f 6d  utputs_in} doc/m
5150: 61 6e 70 61 67 65 73 2e 78 73 6c 2e 69 6e 22 0a  anpages.xsl.in".
5160: 63 66 67 6f 75 74 70 75 74 73 5f 69 6e 3d 22 24  cfgoutputs_in="$
5170: 7b 63 66 67 6f 75 74 70 75 74 73 5f 69 6e 7d 20  {cfgoutputs_in} 
5180: 64 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 2e 78 6d 6c  doc/jemalloc.xml
5190: 2e 69 6e 22 0a 63 66 67 6f 75 74 70 75 74 73 5f  .in".cfgoutputs_
51a0: 69 6e 3d 22 24 7b 63 66 67 6f 75 74 70 75 74 73  in="${cfgoutputs
51b0: 5f 69 6e 7d 20 69 6e 63 6c 75 64 65 2f 6a 65 6d  _in} include/jem
51c0: 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 5f 6d  alloc/jemalloc_m
51d0: 61 63 72 6f 73 2e 68 2e 69 6e 22 0a 63 66 67 6f  acros.h.in".cfgo
51e0: 75 74 70 75 74 73 5f 69 6e 3d 22 24 7b 63 66 67  utputs_in="${cfg
51f0: 6f 75 74 70 75 74 73 5f 69 6e 7d 20 69 6e 63 6c  outputs_in} incl
5200: 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d  ude/jemalloc/jem
5210: 61 6c 6c 6f 63 5f 70 72 6f 74 6f 73 2e 68 2e 69  alloc_protos.h.i
5220: 6e 22 0a 63 66 67 6f 75 74 70 75 74 73 5f 69 6e  n".cfgoutputs_in
5230: 3d 22 24 7b 63 66 67 6f 75 74 70 75 74 73 5f 69  ="${cfgoutputs_i
5240: 6e 7d 20 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c  n} include/jemal
5250: 6c 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 5f 74 79 70  loc/jemalloc_typ
5260: 65 64 65 66 73 2e 68 2e 69 6e 22 0a 63 66 67 6f  edefs.h.in".cfgo
5270: 75 74 70 75 74 73 5f 69 6e 3d 22 24 7b 63 66 67  utputs_in="${cfg
5280: 6f 75 74 70 75 74 73 5f 69 6e 7d 20 69 6e 63 6c  outputs_in} incl
5290: 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74  ude/jemalloc/int
52a0: 65 72 6e 61 6c 2f 6a 65 6d 61 6c 6c 6f 63 5f 69  ernal/jemalloc_i
52b0: 6e 74 65 72 6e 61 6c 2e 68 2e 69 6e 22 0a 63 66  nternal.h.in".cf
52c0: 67 6f 75 74 70 75 74 73 5f 69 6e 3d 22 24 7b 63  goutputs_in="${c
52d0: 66 67 6f 75 74 70 75 74 73 5f 69 6e 7d 20 74 65  fgoutputs_in} te
52e0: 73 74 2f 74 65 73 74 2e 73 68 2e 69 6e 22 0a 63  st/test.sh.in".c
52f0: 66 67 6f 75 74 70 75 74 73 5f 69 6e 3d 22 24 7b  fgoutputs_in="${
5300: 63 66 67 6f 75 74 70 75 74 73 5f 69 6e 7d 20 74  cfgoutputs_in} t
5310: 65 73 74 2f 69 6e 63 6c 75 64 65 2f 74 65 73 74  est/include/test
5320: 2f 6a 65 6d 61 6c 6c 6f 63 5f 74 65 73 74 2e 68  /jemalloc_test.h
5330: 2e 69 6e 22 0a 0a 63 66 67 6f 75 74 70 75 74 73  .in"..cfgoutputs
5340: 5f 6f 75 74 3d 22 4d 61 6b 65 66 69 6c 65 22 0a  _out="Makefile".
5350: 63 66 67 6f 75 74 70 75 74 73 5f 6f 75 74 3d 22  cfgoutputs_out="
5360: 24 7b 63 66 67 6f 75 74 70 75 74 73 5f 6f 75 74  ${cfgoutputs_out
5370: 7d 20 6a 65 6d 61 6c 6c 6f 63 2e 70 63 22 0a 63  } jemalloc.pc".c
5380: 66 67 6f 75 74 70 75 74 73 5f 6f 75 74 3d 22 24  fgoutputs_out="$
5390: 7b 63 66 67 6f 75 74 70 75 74 73 5f 6f 75 74 7d  {cfgoutputs_out}
53a0: 20 64 6f 63 2f 68 74 6d 6c 2e 78 73 6c 22 0a 63   doc/html.xsl".c
53b0: 66 67 6f 75 74 70 75 74 73 5f 6f 75 74 3d 22 24  fgoutputs_out="$
53c0: 7b 63 66 67 6f 75 74 70 75 74 73 5f 6f 75 74 7d  {cfgoutputs_out}
53d0: 20 64 6f 63 2f 6d 61 6e 70 61 67 65 73 2e 78 73   doc/manpages.xs
53e0: 6c 22 0a 63 66 67 6f 75 74 70 75 74 73 5f 6f 75  l".cfgoutputs_ou
53f0: 74 3d 22 24 7b 63 66 67 6f 75 74 70 75 74 73 5f  t="${cfgoutputs_
5400: 6f 75 74 7d 20 64 6f 63 2f 6a 65 6d 61 6c 6c 6f  out} doc/jemallo
5410: 63 2e 78 6d 6c 22 0a 63 66 67 6f 75 74 70 75 74  c.xml".cfgoutput
5420: 73 5f 6f 75 74 3d 22 24 7b 63 66 67 6f 75 74 70  s_out="${cfgoutp
5430: 75 74 73 5f 6f 75 74 7d 20 69 6e 63 6c 75 64 65  uts_out} include
5440: 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c  /jemalloc/jemall
5450: 6f 63 5f 6d 61 63 72 6f 73 2e 68 22 0a 63 66 67  oc_macros.h".cfg
5460: 6f 75 74 70 75 74 73 5f 6f 75 74 3d 22 24 7b 63  outputs_out="${c
5470: 66 67 6f 75 74 70 75 74 73 5f 6f 75 74 7d 20 69  fgoutputs_out} i
5480: 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f  nclude/jemalloc/
5490: 6a 65 6d 61 6c 6c 6f 63 5f 70 72 6f 74 6f 73 2e  jemalloc_protos.
54a0: 68 22 0a 63 66 67 6f 75 74 70 75 74 73 5f 6f 75  h".cfgoutputs_ou
54b0: 74 3d 22 24 7b 63 66 67 6f 75 74 70 75 74 73 5f  t="${cfgoutputs_
54c0: 6f 75 74 7d 20 69 6e 63 6c 75 64 65 2f 6a 65 6d  out} include/jem
54d0: 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 5f 74  alloc/jemalloc_t
54e0: 79 70 65 64 65 66 73 2e 68 22 0a 63 66 67 6f 75  ypedefs.h".cfgou
54f0: 74 70 75 74 73 5f 6f 75 74 3d 22 24 7b 63 66 67  tputs_out="${cfg
5500: 6f 75 74 70 75 74 73 5f 6f 75 74 7d 20 69 6e 63  outputs_out} inc
5510: 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e  lude/jemalloc/in
5520: 74 65 72 6e 61 6c 2f 6a 65 6d 61 6c 6c 6f 63 5f  ternal/jemalloc_
5530: 69 6e 74 65 72 6e 61 6c 2e 68 22 0a 63 66 67 6f  internal.h".cfgo
5540: 75 74 70 75 74 73 5f 6f 75 74 3d 22 24 7b 63 66  utputs_out="${cf
5550: 67 6f 75 74 70 75 74 73 5f 6f 75 74 7d 20 74 65  goutputs_out} te
5560: 73 74 2f 74 65 73 74 2e 73 68 22 0a 63 66 67 6f  st/test.sh".cfgo
5570: 75 74 70 75 74 73 5f 6f 75 74 3d 22 24 7b 63 66  utputs_out="${cf
5580: 67 6f 75 74 70 75 74 73 5f 6f 75 74 7d 20 74 65  goutputs_out} te
5590: 73 74 2f 69 6e 63 6c 75 64 65 2f 74 65 73 74 2f  st/include/test/
55a0: 6a 65 6d 61 6c 6c 6f 63 5f 74 65 73 74 2e 68 22  jemalloc_test.h"
55b0: 0a 0a 63 66 67 6f 75 74 70 75 74 73 5f 74 75 70  ..cfgoutputs_tup
55c0: 3d 22 4d 61 6b 65 66 69 6c 65 22 0a 63 66 67 6f  ="Makefile".cfgo
55d0: 75 74 70 75 74 73 5f 74 75 70 3d 22 24 7b 63 66  utputs_tup="${cf
55e0: 67 6f 75 74 70 75 74 73 5f 74 75 70 7d 20 6a 65  goutputs_tup} je
55f0: 6d 61 6c 6c 6f 63 2e 70 63 3a 6a 65 6d 61 6c 6c  malloc.pc:jemall
5600: 6f 63 2e 70 63 2e 69 6e 22 0a 63 66 67 6f 75 74  oc.pc.in".cfgout
5610: 70 75 74 73 5f 74 75 70 3d 22 24 7b 63 66 67 6f  puts_tup="${cfgo
5620: 75 74 70 75 74 73 5f 74 75 70 7d 20 64 6f 63 2f  utputs_tup} doc/
5630: 68 74 6d 6c 2e 78 73 6c 3a 64 6f 63 2f 68 74 6d  html.xsl:doc/htm
5640: 6c 2e 78 73 6c 2e 69 6e 22 0a 63 66 67 6f 75 74  l.xsl.in".cfgout
5650: 70 75 74 73 5f 74 75 70 3d 22 24 7b 63 66 67 6f  puts_tup="${cfgo
5660: 75 74 70 75 74 73 5f 74 75 70 7d 20 64 6f 63 2f  utputs_tup} doc/
5670: 6d 61 6e 70 61 67 65 73 2e 78 73 6c 3a 64 6f 63  manpages.xsl:doc
5680: 2f 6d 61 6e 70 61 67 65 73 2e 78 73 6c 2e 69 6e  /manpages.xsl.in
5690: 22 0a 63 66 67 6f 75 74 70 75 74 73 5f 74 75 70  ".cfgoutputs_tup
56a0: 3d 22 24 7b 63 66 67 6f 75 74 70 75 74 73 5f 74  ="${cfgoutputs_t
56b0: 75 70 7d 20 64 6f 63 2f 6a 65 6d 61 6c 6c 6f 63  up} doc/jemalloc
56c0: 2e 78 6d 6c 3a 64 6f 63 2f 6a 65 6d 61 6c 6c 6f  .xml:doc/jemallo
56d0: 63 2e 78 6d 6c 2e 69 6e 22 0a 63 66 67 6f 75 74  c.xml.in".cfgout
56e0: 70 75 74 73 5f 74 75 70 3d 22 24 7b 63 66 67 6f  puts_tup="${cfgo
56f0: 75 74 70 75 74 73 5f 74 75 70 7d 20 69 6e 63 6c  utputs_tup} incl
5700: 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d  ude/jemalloc/jem
5710: 61 6c 6c 6f 63 5f 6d 61 63 72 6f 73 2e 68 3a 69  alloc_macros.h:i
5720: 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f  nclude/jemalloc/
5730: 6a 65 6d 61 6c 6c 6f 63 5f 6d 61 63 72 6f 73 2e  jemalloc_macros.
5740: 68 2e 69 6e 22 0a 63 66 67 6f 75 74 70 75 74 73  h.in".cfgoutputs
5750: 5f 74 75 70 3d 22 24 7b 63 66 67 6f 75 74 70 75  _tup="${cfgoutpu
5760: 74 73 5f 74 75 70 7d 20 69 6e 63 6c 75 64 65 2f  ts_tup} include/
5770: 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c 6f  jemalloc/jemallo
5780: 63 5f 70 72 6f 74 6f 73 2e 68 3a 69 6e 63 6c 75  c_protos.h:inclu
5790: 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61  de/jemalloc/jema
57a0: 6c 6c 6f 63 5f 70 72 6f 74 6f 73 2e 68 2e 69 6e  lloc_protos.h.in
57b0: 22 0a 63 66 67 6f 75 74 70 75 74 73 5f 74 75 70  ".cfgoutputs_tup
57c0: 3d 22 24 7b 63 66 67 6f 75 74 70 75 74 73 5f 74  ="${cfgoutputs_t
57d0: 75 70 7d 20 69 6e 63 6c 75 64 65 2f 6a 65 6d 61  up} include/jema
57e0: 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 5f 74 79  lloc/jemalloc_ty
57f0: 70 65 64 65 66 73 2e 68 3a 69 6e 63 6c 75 64 65  pedefs.h:include
5800: 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c  /jemalloc/jemall
5810: 6f 63 5f 74 79 70 65 64 65 66 73 2e 68 2e 69 6e  oc_typedefs.h.in
5820: 22 0a 63 66 67 6f 75 74 70 75 74 73 5f 74 75 70  ".cfgoutputs_tup
5830: 3d 22 24 7b 63 66 67 6f 75 74 70 75 74 73 5f 74  ="${cfgoutputs_t
5840: 75 70 7d 20 69 6e 63 6c 75 64 65 2f 6a 65 6d 61  up} include/jema
5850: 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c 2f 6a 65  lloc/internal/je
5860: 6d 61 6c 6c 6f 63 5f 69 6e 74 65 72 6e 61 6c 2e  malloc_internal.
5870: 68 22 0a 63 66 67 6f 75 74 70 75 74 73 5f 74 75  h".cfgoutputs_tu
5880: 70 3d 22 24 7b 63 66 67 6f 75 74 70 75 74 73 5f  p="${cfgoutputs_
5890: 74 75 70 7d 20 74 65 73 74 2f 74 65 73 74 2e 73  tup} test/test.s
58a0: 68 3a 74 65 73 74 2f 74 65 73 74 2e 73 68 2e 69  h:test/test.sh.i
58b0: 6e 22 0a 63 66 67 6f 75 74 70 75 74 73 5f 74 75  n".cfgoutputs_tu
58c0: 70 3d 22 24 7b 63 66 67 6f 75 74 70 75 74 73 5f  p="${cfgoutputs_
58d0: 74 75 70 7d 20 74 65 73 74 2f 69 6e 63 6c 75 64  tup} test/includ
58e0: 65 2f 74 65 73 74 2f 6a 65 6d 61 6c 6c 6f 63 5f  e/test/jemalloc_
58f0: 74 65 73 74 2e 68 3a 74 65 73 74 2f 69 6e 63 6c  test.h:test/incl
5900: 75 64 65 2f 74 65 73 74 2f 6a 65 6d 61 6c 6c 6f  ude/test/jemallo
5910: 63 5f 74 65 73 74 2e 68 2e 69 6e 22 0a 0a 63 66  c_test.h.in"..cf
5920: 67 68 64 72 73 5f 69 6e 3d 22 69 6e 63 6c 75 64  ghdrs_in="includ
5930: 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c  e/jemalloc/jemal
5940: 6c 6f 63 5f 64 65 66 73 2e 68 2e 69 6e 22 0a 63  loc_defs.h.in".c
5950: 66 67 68 64 72 73 5f 69 6e 3d 22 24 7b 63 66 67  fghdrs_in="${cfg
5960: 68 64 72 73 5f 69 6e 7d 20 69 6e 63 6c 75 64 65  hdrs_in} include
5970: 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e  /jemalloc/intern
5980: 61 6c 2f 6a 65 6d 61 6c 6c 6f 63 5f 69 6e 74 65  al/jemalloc_inte
5990: 72 6e 61 6c 5f 64 65 66 73 2e 68 2e 69 6e 22 0a  rnal_defs.h.in".
59a0: 63 66 67 68 64 72 73 5f 69 6e 3d 22 24 7b 63 66  cfghdrs_in="${cf
59b0: 67 68 64 72 73 5f 69 6e 7d 20 69 6e 63 6c 75 64  ghdrs_in} includ
59c0: 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72  e/jemalloc/inter
59d0: 6e 61 6c 2f 70 72 69 76 61 74 65 5f 6e 61 6d 65  nal/private_name
59e0: 73 70 61 63 65 2e 73 68 22 0a 63 66 67 68 64 72  space.sh".cfghdr
59f0: 73 5f 69 6e 3d 22 24 7b 63 66 67 68 64 72 73 5f  s_in="${cfghdrs_
5a00: 69 6e 7d 20 69 6e 63 6c 75 64 65 2f 6a 65 6d 61  in} include/jema
5a10: 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c 2f 70 72  lloc/internal/pr
5a20: 69 76 61 74 65 5f 75 6e 6e 61 6d 65 73 70 61 63  ivate_unnamespac
5a30: 65 2e 73 68 22 0a 63 66 67 68 64 72 73 5f 69 6e  e.sh".cfghdrs_in
5a40: 3d 22 24 7b 63 66 67 68 64 72 73 5f 69 6e 7d 20  ="${cfghdrs_in} 
5a50: 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63  include/jemalloc
5a60: 2f 69 6e 74 65 72 6e 61 6c 2f 70 72 69 76 61 74  /internal/privat
5a70: 65 5f 73 79 6d 62 6f 6c 73 2e 74 78 74 22 0a 63  e_symbols.txt".c
5a80: 66 67 68 64 72 73 5f 69 6e 3d 22 24 7b 63 66 67  fghdrs_in="${cfg
5a90: 68 64 72 73 5f 69 6e 7d 20 69 6e 63 6c 75 64 65  hdrs_in} include
5aa0: 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e  /jemalloc/intern
5ab0: 61 6c 2f 70 75 62 6c 69 63 5f 6e 61 6d 65 73 70  al/public_namesp
5ac0: 61 63 65 2e 73 68 22 0a 63 66 67 68 64 72 73 5f  ace.sh".cfghdrs_
5ad0: 69 6e 3d 22 24 7b 63 66 67 68 64 72 73 5f 69 6e  in="${cfghdrs_in
5ae0: 7d 20 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c  } include/jemall
5af0: 6f 63 2f 69 6e 74 65 72 6e 61 6c 2f 70 75 62 6c  oc/internal/publ
5b00: 69 63 5f 75 6e 6e 61 6d 65 73 70 61 63 65 2e 73  ic_unnamespace.s
5b10: 68 22 0a 63 66 67 68 64 72 73 5f 69 6e 3d 22 24  h".cfghdrs_in="$
5b20: 7b 63 66 67 68 64 72 73 5f 69 6e 7d 20 69 6e 63  {cfghdrs_in} inc
5b30: 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e  lude/jemalloc/in
5b40: 74 65 72 6e 61 6c 2f 73 69 7a 65 5f 63 6c 61 73  ternal/size_clas
5b50: 73 65 73 2e 73 68 22 0a 63 66 67 68 64 72 73 5f  ses.sh".cfghdrs_
5b60: 69 6e 3d 22 24 7b 63 66 67 68 64 72 73 5f 69 6e  in="${cfghdrs_in
5b70: 7d 20 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c  } include/jemall
5b80: 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 5f 72 65 6e 61  oc/jemalloc_rena
5b90: 6d 65 2e 73 68 22 0a 63 66 67 68 64 72 73 5f 69  me.sh".cfghdrs_i
5ba0: 6e 3d 22 24 7b 63 66 67 68 64 72 73 5f 69 6e 7d  n="${cfghdrs_in}
5bb0: 20 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f   include/jemallo
5bc0: 63 2f 6a 65 6d 61 6c 6c 6f 63 5f 6d 61 6e 67 6c  c/jemalloc_mangl
5bd0: 65 2e 73 68 22 0a 63 66 67 68 64 72 73 5f 69 6e  e.sh".cfghdrs_in
5be0: 3d 22 24 7b 63 66 67 68 64 72 73 5f 69 6e 7d 20  ="${cfghdrs_in} 
5bf0: 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63  include/jemalloc
5c00: 2f 6a 65 6d 61 6c 6c 6f 63 2e 73 68 22 0a 63 66  /jemalloc.sh".cf
5c10: 67 68 64 72 73 5f 69 6e 3d 22 24 7b 63 66 67 68  ghdrs_in="${cfgh
5c20: 64 72 73 5f 69 6e 7d 20 74 65 73 74 2f 69 6e 63  drs_in} test/inc
5c30: 6c 75 64 65 2f 74 65 73 74 2f 6a 65 6d 61 6c 6c  lude/test/jemall
5c40: 6f 63 5f 74 65 73 74 5f 64 65 66 73 2e 68 2e 69  oc_test_defs.h.i
5c50: 6e 22 0a 0a 63 66 67 68 64 72 73 5f 6f 75 74 3d  n"..cfghdrs_out=
5c60: 22 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f  "include/jemallo
5c70: 63 2f 6a 65 6d 61 6c 6c 6f 63 5f 64 65 66 73 2e  c/jemalloc_defs.
5c80: 68 22 0a 63 66 67 68 64 72 73 5f 6f 75 74 3d 22  h".cfghdrs_out="
5c90: 24 7b 63 66 67 68 64 72 73 5f 6f 75 74 7d 20 69  ${cfghdrs_out} i
5ca0: 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f  nclude/jemalloc/
5cb0: 6a 65 6d 61 6c 6c 6f 63 24 7b 69 6e 73 74 61 6c  jemalloc${instal
5cc0: 6c 5f 73 75 66 66 69 78 7d 2e 68 22 0a 63 66 67  l_suffix}.h".cfg
5cd0: 68 64 72 73 5f 6f 75 74 3d 22 24 7b 63 66 67 68  hdrs_out="${cfgh
5ce0: 64 72 73 5f 6f 75 74 7d 20 69 6e 63 6c 75 64 65  drs_out} include
5cf0: 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e  /jemalloc/intern
5d00: 61 6c 2f 70 72 69 76 61 74 65 5f 6e 61 6d 65 73  al/private_names
5d10: 70 61 63 65 2e 68 22 0a 63 66 67 68 64 72 73 5f  pace.h".cfghdrs_
5d20: 6f 75 74 3d 22 24 7b 63 66 67 68 64 72 73 5f 6f  out="${cfghdrs_o
5d30: 75 74 7d 20 69 6e 63 6c 75 64 65 2f 6a 65 6d 61  ut} include/jema
5d40: 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c 2f 70 72  lloc/internal/pr
5d50: 69 76 61 74 65 5f 75 6e 6e 61 6d 65 73 70 61 63  ivate_unnamespac
5d60: 65 2e 68 22 0a 63 66 67 68 64 72 73 5f 6f 75 74  e.h".cfghdrs_out
5d70: 3d 22 24 7b 63 66 67 68 64 72 73 5f 6f 75 74 7d  ="${cfghdrs_out}
5d80: 20 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f   include/jemallo
5d90: 63 2f 69 6e 74 65 72 6e 61 6c 2f 70 75 62 6c 69  c/internal/publi
5da0: 63 5f 73 79 6d 62 6f 6c 73 2e 74 78 74 22 0a 63  c_symbols.txt".c
5db0: 66 67 68 64 72 73 5f 6f 75 74 3d 22 24 7b 63 66  fghdrs_out="${cf
5dc0: 67 68 64 72 73 5f 6f 75 74 7d 20 69 6e 63 6c 75  ghdrs_out} inclu
5dd0: 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65  de/jemalloc/inte
5de0: 72 6e 61 6c 2f 70 75 62 6c 69 63 5f 6e 61 6d 65  rnal/public_name
5df0: 73 70 61 63 65 2e 68 22 0a 63 66 67 68 64 72 73  space.h".cfghdrs
5e00: 5f 6f 75 74 3d 22 24 7b 63 66 67 68 64 72 73 5f  _out="${cfghdrs_
5e10: 6f 75 74 7d 20 69 6e 63 6c 75 64 65 2f 6a 65 6d  out} include/jem
5e20: 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c 2f 70  alloc/internal/p
5e30: 75 62 6c 69 63 5f 75 6e 6e 61 6d 65 73 70 61 63  ublic_unnamespac
5e40: 65 2e 68 22 0a 63 66 67 68 64 72 73 5f 6f 75 74  e.h".cfghdrs_out
5e50: 3d 22 24 7b 63 66 67 68 64 72 73 5f 6f 75 74 7d  ="${cfghdrs_out}
5e60: 20 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f   include/jemallo
5e70: 63 2f 69 6e 74 65 72 6e 61 6c 2f 73 69 7a 65 5f  c/internal/size_
5e80: 63 6c 61 73 73 65 73 2e 68 22 0a 63 66 67 68 64  classes.h".cfghd
5e90: 72 73 5f 6f 75 74 3d 22 24 7b 63 66 67 68 64 72  rs_out="${cfghdr
5ea0: 73 5f 6f 75 74 7d 20 69 6e 63 6c 75 64 65 2f 6a  s_out} include/j
5eb0: 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c 6f 63  emalloc/jemalloc
5ec0: 5f 70 72 6f 74 6f 73 5f 6a 65 74 2e 68 22 0a 63  _protos_jet.h".c
5ed0: 66 67 68 64 72 73 5f 6f 75 74 3d 22 24 7b 63 66  fghdrs_out="${cf
5ee0: 67 68 64 72 73 5f 6f 75 74 7d 20 69 6e 63 6c 75  ghdrs_out} inclu
5ef0: 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61  de/jemalloc/jema
5f00: 6c 6c 6f 63 5f 72 65 6e 61 6d 65 2e 68 22 0a 63  lloc_rename.h".c
5f10: 66 67 68 64 72 73 5f 6f 75 74 3d 22 24 7b 63 66  fghdrs_out="${cf
5f20: 67 68 64 72 73 5f 6f 75 74 7d 20 69 6e 63 6c 75  ghdrs_out} inclu
5f30: 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61  de/jemalloc/jema
5f40: 6c 6c 6f 63 5f 6d 61 6e 67 6c 65 2e 68 22 0a 63  lloc_mangle.h".c
5f50: 66 67 68 64 72 73 5f 6f 75 74 3d 22 24 7b 63 66  fghdrs_out="${cf
5f60: 67 68 64 72 73 5f 6f 75 74 7d 20 69 6e 63 6c 75  ghdrs_out} inclu
5f70: 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61  de/jemalloc/jema
5f80: 6c 6c 6f 63 5f 6d 61 6e 67 6c 65 5f 6a 65 74 2e  lloc_mangle_jet.
5f90: 68 22 0a 63 66 67 68 64 72 73 5f 6f 75 74 3d 22  h".cfghdrs_out="
5fa0: 24 7b 63 66 67 68 64 72 73 5f 6f 75 74 7d 20 69  ${cfghdrs_out} i
5fb0: 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f  nclude/jemalloc/
5fc0: 69 6e 74 65 72 6e 61 6c 2f 6a 65 6d 61 6c 6c 6f  internal/jemallo
5fd0: 63 5f 69 6e 74 65 72 6e 61 6c 5f 64 65 66 73 2e  c_internal_defs.
5fe0: 68 22 0a 63 66 67 68 64 72 73 5f 6f 75 74 3d 22  h".cfghdrs_out="
5ff0: 24 7b 63 66 67 68 64 72 73 5f 6f 75 74 7d 20 74  ${cfghdrs_out} t
6000: 65 73 74 2f 69 6e 63 6c 75 64 65 2f 74 65 73 74  est/include/test
6010: 2f 6a 65 6d 61 6c 6c 6f 63 5f 74 65 73 74 5f 64  /jemalloc_test_d
6020: 65 66 73 2e 68 22 0a 0a 63 66 67 68 64 72 73 5f  efs.h"..cfghdrs_
6030: 74 75 70 3d 22 69 6e 63 6c 75 64 65 2f 6a 65 6d  tup="include/jem
6040: 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 5f 64  alloc/jemalloc_d
6050: 65 66 73 2e 68 3a 69 6e 63 6c 75 64 65 2f 6a 65  efs.h:include/je
6060: 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 5f  malloc/jemalloc_
6070: 64 65 66 73 2e 68 2e 69 6e 22 0a 63 66 67 68 64  defs.h.in".cfghd
6080: 72 73 5f 74 75 70 3d 22 24 7b 63 66 67 68 64 72  rs_tup="${cfghdr
6090: 73 5f 74 75 70 7d 20 69 6e 63 6c 75 64 65 2f 6a  s_tup} include/j
60a0: 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c  emalloc/internal
60b0: 2f 6a 65 6d 61 6c 6c 6f 63 5f 69 6e 74 65 72 6e  /jemalloc_intern
60c0: 61 6c 5f 64 65 66 73 2e 68 3a 69 6e 63 6c 75 64  al_defs.h:includ
60d0: 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72  e/jemalloc/inter
60e0: 6e 61 6c 2f 6a 65 6d 61 6c 6c 6f 63 5f 69 6e 74  nal/jemalloc_int
60f0: 65 72 6e 61 6c 5f 64 65 66 73 2e 68 2e 69 6e 22  ernal_defs.h.in"
6100: 0a 63 66 67 68 64 72 73 5f 74 75 70 3d 22 24 7b  .cfghdrs_tup="${
6110: 63 66 67 68 64 72 73 5f 74 75 70 7d 20 74 65 73  cfghdrs_tup} tes
6120: 74 2f 69 6e 63 6c 75 64 65 2f 74 65 73 74 2f 6a  t/include/test/j
6130: 65 6d 61 6c 6c 6f 63 5f 74 65 73 74 5f 64 65 66  emalloc_test_def
6140: 73 2e 68 3a 74 65 73 74 2f 69 6e 63 6c 75 64 65  s.h:test/include
6150: 2f 74 65 73 74 2f 6a 65 6d 61 6c 6c 6f 63 5f 74  /test/jemalloc_t
6160: 65 73 74 5f 64 65 66 73 2e 68 2e 69 6e 22 0a 0a  est_defs.h.in"..
6170: 64 6e 6c 20 53 69 6c 65 6e 63 65 20 69 72 72 65  dnl Silence irre
6180: 6c 65 76 61 6e 74 20 63 6f 6d 70 69 6c 65 72 20  levant compiler 
6190: 77 61 72 6e 69 6e 67 73 20 62 79 20 64 65 66 61  warnings by defa
61a0: 75 6c 74 2e 0a 41 43 5f 41 52 47 5f 45 4e 41 42  ult..AC_ARG_ENAB
61b0: 4c 45 28 5b 63 63 2d 73 69 6c 65 6e 63 65 5d 2c  LE([cc-silence],
61c0: 0a 20 20 5b 41 53 5f 48 45 4c 50 5f 53 54 52 49  .  [AS_HELP_STRI
61d0: 4e 47 28 5b 2d 2d 64 69 73 61 62 6c 65 2d 63 63  NG([--disable-cc
61e0: 2d 73 69 6c 65 6e 63 65 5d 2c 0a 20 20 20 20 20  -silence],.     
61f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 44 6f               [Do
6200: 20 6e 6f 74 20 73 69 6c 65 6e 63 65 20 69 72 72   not silence irr
6210: 65 6c 65 76 61 6e 74 20 63 6f 6d 70 69 6c 65 72  elevant compiler
6220: 20 77 61 72 6e 69 6e 67 73 5d 29 5d 2c 0a 5b 69   warnings])],.[i
6230: 66 20 74 65 73 74 20 22 78 24 65 6e 61 62 6c 65  f test "x$enable
6240: 5f 63 63 5f 73 69 6c 65 6e 63 65 22 20 3d 20 22  _cc_silence" = "
6250: 78 6e 6f 22 20 3b 20 74 68 65 6e 0a 20 20 65 6e  xno" ; then.  en
6260: 61 62 6c 65 5f 63 63 5f 73 69 6c 65 6e 63 65 3d  able_cc_silence=
6270: 22 30 22 0a 65 6c 73 65 0a 20 20 65 6e 61 62 6c  "0".else.  enabl
6280: 65 5f 63 63 5f 73 69 6c 65 6e 63 65 3d 22 31 22  e_cc_silence="1"
6290: 0a 66 69 0a 5d 2c 0a 5b 65 6e 61 62 6c 65 5f 63  .fi.],.[enable_c
62a0: 63 5f 73 69 6c 65 6e 63 65 3d 22 31 22 5d 0a 29  c_silence="1"].)
62b0: 0a 69 66 20 74 65 73 74 20 22 78 24 65 6e 61 62  .if test "x$enab
62c0: 6c 65 5f 63 63 5f 73 69 6c 65 6e 63 65 22 20 3d  le_cc_silence" =
62d0: 20 22 78 31 22 20 3b 20 74 68 65 6e 0a 20 20 41   "x1" ; then.  A
62e0: 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c  C_DEFINE([JEMALL
62f0: 4f 43 5f 43 43 5f 53 49 4c 45 4e 43 45 5d 2c 20  OC_CC_SILENCE], 
6300: 5b 20 5d 29 0a 66 69 0a 0a 64 6e 6c 20 44 6f 20  [ ]).fi..dnl Do 
6310: 6e 6f 74 20 63 6f 6d 70 69 6c 65 20 77 69 74 68  not compile with
6320: 20 64 65 62 75 67 67 69 6e 67 20 62 79 20 64 65   debugging by de
6330: 66 61 75 6c 74 2e 0a 41 43 5f 41 52 47 5f 45 4e  fault..AC_ARG_EN
6340: 41 42 4c 45 28 5b 64 65 62 75 67 5d 2c 0a 20 20  ABLE([debug],.  
6350: 5b 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e 47 28  [AS_HELP_STRING(
6360: 5b 2d 2d 65 6e 61 62 6c 65 2d 64 65 62 75 67 5d  [--enable-debug]
6370: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ,.              
6380: 20 20 20 20 5b 42 75 69 6c 64 20 64 65 62 75 67      [Build debug
6390: 67 69 6e 67 20 63 6f 64 65 20 28 69 6d 70 6c 69  ging code (impli
63a0: 65 73 20 2d 2d 65 6e 61 62 6c 65 2d 69 76 73 61  es --enable-ivsa
63b0: 6c 6c 6f 63 29 5d 29 5d 2c 0a 5b 69 66 20 74 65  lloc)])],.[if te
63c0: 73 74 20 22 78 24 65 6e 61 62 6c 65 5f 64 65 62  st "x$enable_deb
63d0: 75 67 22 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68  ug" = "xno" ; th
63e0: 65 6e 0a 20 20 65 6e 61 62 6c 65 5f 64 65 62 75  en.  enable_debu
63f0: 67 3d 22 30 22 0a 65 6c 73 65 0a 20 20 65 6e 61  g="0".else.  ena
6400: 62 6c 65 5f 64 65 62 75 67 3d 22 31 22 0a 66 69  ble_debug="1".fi
6410: 0a 5d 2c 0a 5b 65 6e 61 62 6c 65 5f 64 65 62 75  .],.[enable_debu
6420: 67 3d 22 30 22 5d 0a 29 0a 69 66 20 74 65 73 74  g="0"].).if test
6430: 20 22 78 24 65 6e 61 62 6c 65 5f 64 65 62 75 67   "x$enable_debug
6440: 22 20 3d 20 22 78 31 22 20 3b 20 74 68 65 6e 0a  " = "x1" ; then.
6450: 20 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d    AC_DEFINE([JEM
6460: 41 4c 4c 4f 43 5f 44 45 42 55 47 5d 2c 20 5b 20  ALLOC_DEBUG], [ 
6470: 5d 29 0a 66 69 0a 69 66 20 74 65 73 74 20 22 78  ]).fi.if test "x
6480: 24 65 6e 61 62 6c 65 5f 64 65 62 75 67 22 20 3d  $enable_debug" =
6490: 20 22 78 31 22 20 3b 20 74 68 65 6e 0a 20 20 41   "x1" ; then.  A
64a0: 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c  C_DEFINE([JEMALL
64b0: 4f 43 5f 44 45 42 55 47 5d 2c 20 5b 20 5d 29 0a  OC_DEBUG], [ ]).
64c0: 20 20 65 6e 61 62 6c 65 5f 69 76 73 61 6c 6c 6f    enable_ivsallo
64d0: 63 3d 22 31 22 0a 66 69 0a 41 43 5f 53 55 42 53  c="1".fi.AC_SUBS
64e0: 54 28 5b 65 6e 61 62 6c 65 5f 64 65 62 75 67 5d  T([enable_debug]
64f0: 29 0a 0a 64 6e 6c 20 44 6f 20 6e 6f 74 20 76 61  )..dnl Do not va
6500: 6c 69 64 61 74 65 20 70 6f 69 6e 74 65 72 73 20  lidate pointers 
6510: 62 79 20 64 65 66 61 75 6c 74 2e 0a 41 43 5f 41  by default..AC_A
6520: 52 47 5f 45 4e 41 42 4c 45 28 5b 69 76 73 61 6c  RG_ENABLE([ivsal
6530: 6c 6f 63 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c 50  loc],.  [AS_HELP
6540: 5f 53 54 52 49 4e 47 28 5b 2d 2d 65 6e 61 62 6c  _STRING([--enabl
6550: 65 2d 69 76 73 61 6c 6c 6f 63 5d 2c 0a 20 20 20  e-ivsalloc],.   
6560: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b                 [
6570: 56 61 6c 69 64 61 74 65 20 70 6f 69 6e 74 65 72  Validate pointer
6580: 73 20 70 61 73 73 65 64 20 74 68 72 6f 75 67 68  s passed through
6590: 20 74 68 65 20 70 75 62 6c 69 63 20 41 50 49 5d   the public API]
65a0: 29 5d 2c 0a 5b 69 66 20 74 65 73 74 20 22 78 24  )],.[if test "x$
65b0: 65 6e 61 62 6c 65 5f 69 76 73 61 6c 6c 6f 63 22  enable_ivsalloc"
65c0: 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65 6e 0a   = "xno" ; then.
65d0: 20 20 65 6e 61 62 6c 65 5f 69 76 73 61 6c 6c 6f    enable_ivsallo
65e0: 63 3d 22 30 22 0a 65 6c 73 65 0a 20 20 65 6e 61  c="0".else.  ena
65f0: 62 6c 65 5f 69 76 73 61 6c 6c 6f 63 3d 22 31 22  ble_ivsalloc="1"
6600: 0a 66 69 0a 5d 2c 0a 5b 65 6e 61 62 6c 65 5f 69  .fi.],.[enable_i
6610: 76 73 61 6c 6c 6f 63 3d 22 30 22 5d 0a 29 0a 69  vsalloc="0"].).i
6620: 66 20 74 65 73 74 20 22 78 24 65 6e 61 62 6c 65  f test "x$enable
6630: 5f 69 76 73 61 6c 6c 6f 63 22 20 3d 20 22 78 31  _ivsalloc" = "x1
6640: 22 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45  " ; then.  AC_DE
6650: 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 49  FINE([JEMALLOC_I
6660: 56 53 41 4c 4c 4f 43 5d 2c 20 5b 20 5d 29 0a 66  VSALLOC], [ ]).f
6670: 69 0a 0a 64 6e 6c 20 4f 6e 6c 79 20 6f 70 74 69  i..dnl Only opti
6680: 6d 69 7a 65 20 69 66 20 6e 6f 74 20 64 65 62 75  mize if not debu
6690: 67 67 69 6e 67 2e 0a 69 66 20 74 65 73 74 20 22  gging..if test "
66a0: 78 24 65 6e 61 62 6c 65 5f 64 65 62 75 67 22 20  x$enable_debug" 
66b0: 3d 20 22 78 30 22 20 3b 20 74 68 65 6e 0a 20 20  = "x0" ; then.  
66c0: 69 66 20 74 65 73 74 20 22 78 24 47 43 43 22 20  if test "x$GCC" 
66d0: 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65 6e 0a  = "xyes" ; then.
66e0: 20 20 20 20 4a 45 5f 43 46 4c 41 47 53 5f 41 44      JE_CFLAGS_AD
66f0: 44 28 5b 2d 4f 33 5d 29 0a 20 20 20 20 4a 45 5f  D([-O3]).    JE_
6700: 43 46 4c 41 47 53 5f 41 44 44 28 5b 2d 66 75 6e  CFLAGS_ADD([-fun
6710: 72 6f 6c 6c 2d 6c 6f 6f 70 73 5d 29 0a 20 20 65  roll-loops]).  e
6720: 6c 69 66 20 74 65 73 74 20 22 78 24 6a 65 5f 63  lif test "x$je_c
6730: 76 5f 6d 73 76 63 22 20 3d 20 22 78 79 65 73 22  v_msvc" = "xyes"
6740: 20 3b 20 74 68 65 6e 0a 20 20 20 20 4a 45 5f 43   ; then.    JE_C
6750: 46 4c 41 47 53 5f 41 44 44 28 5b 2d 4f 32 5d 29  FLAGS_ADD([-O2])
6760: 0a 20 20 65 6c 73 65 0a 20 20 20 20 4a 45 5f 43  .  else.    JE_C
6770: 46 4c 41 47 53 5f 41 44 44 28 5b 2d 4f 5d 29 0a  FLAGS_ADD([-O]).
6780: 20 20 66 69 0a 66 69 0a 0a 64 6e 6c 20 45 6e 61    fi.fi..dnl Ena
6790: 62 6c 65 20 73 74 61 74 69 73 74 69 63 73 20 63  ble statistics c
67a0: 61 6c 63 75 6c 61 74 69 6f 6e 20 62 79 20 64 65  alculation by de
67b0: 66 61 75 6c 74 2e 0a 41 43 5f 41 52 47 5f 45 4e  fault..AC_ARG_EN
67c0: 41 42 4c 45 28 5b 73 74 61 74 73 5d 2c 0a 20 20  ABLE([stats],.  
67d0: 5b 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e 47 28  [AS_HELP_STRING(
67e0: 5b 2d 2d 64 69 73 61 62 6c 65 2d 73 74 61 74 73  [--disable-stats
67f0: 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ],.             
6800: 20 20 20 20 20 5b 44 69 73 61 62 6c 65 20 73 74       [Disable st
6810: 61 74 69 73 74 69 63 73 20 63 61 6c 63 75 6c 61  atistics calcula
6820: 74 69 6f 6e 2f 72 65 70 6f 72 74 69 6e 67 5d 29  tion/reporting])
6830: 5d 2c 0a 5b 69 66 20 74 65 73 74 20 22 78 24 65  ],.[if test "x$e
6840: 6e 61 62 6c 65 5f 73 74 61 74 73 22 20 3d 20 22  nable_stats" = "
6850: 78 6e 6f 22 20 3b 20 74 68 65 6e 0a 20 20 65 6e  xno" ; then.  en
6860: 61 62 6c 65 5f 73 74 61 74 73 3d 22 30 22 0a 65  able_stats="0".e
6870: 6c 73 65 0a 20 20 65 6e 61 62 6c 65 5f 73 74 61  lse.  enable_sta
6880: 74 73 3d 22 31 22 0a 66 69 0a 5d 2c 0a 5b 65 6e  ts="1".fi.],.[en
6890: 61 62 6c 65 5f 73 74 61 74 73 3d 22 31 22 5d 0a  able_stats="1"].
68a0: 29 0a 69 66 20 74 65 73 74 20 22 78 24 65 6e 61  ).if test "x$ena
68b0: 62 6c 65 5f 73 74 61 74 73 22 20 3d 20 22 78 31  ble_stats" = "x1
68c0: 22 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45  " ; then.  AC_DE
68d0: 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 53  FINE([JEMALLOC_S
68e0: 54 41 54 53 5d 2c 20 5b 20 5d 29 0a 66 69 0a 41  TATS], [ ]).fi.A
68f0: 43 5f 53 55 42 53 54 28 5b 65 6e 61 62 6c 65 5f  C_SUBST([enable_
6900: 73 74 61 74 73 5d 29 0a 0a 64 6e 6c 20 44 6f 20  stats])..dnl Do 
6910: 6e 6f 74 20 65 6e 61 62 6c 65 20 70 72 6f 66 69  not enable profi
6920: 6c 69 6e 67 20 62 79 20 64 65 66 61 75 6c 74 2e  ling by default.
6930: 0a 41 43 5f 41 52 47 5f 45 4e 41 42 4c 45 28 5b  .AC_ARG_ENABLE([
6940: 70 72 6f 66 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c  prof],.  [AS_HEL
6950: 50 5f 53 54 52 49 4e 47 28 5b 2d 2d 65 6e 61 62  P_STRING([--enab
6960: 6c 65 2d 70 72 6f 66 5d 2c 20 5b 45 6e 61 62 6c  le-prof], [Enabl
6970: 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 70 72 6f  e allocation pro
6980: 66 69 6c 69 6e 67 5d 29 5d 2c 0a 5b 69 66 20 74  filing])],.[if t
6990: 65 73 74 20 22 78 24 65 6e 61 62 6c 65 5f 70 72  est "x$enable_pr
69a0: 6f 66 22 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68  of" = "xno" ; th
69b0: 65 6e 0a 20 20 65 6e 61 62 6c 65 5f 70 72 6f 66  en.  enable_prof
69c0: 3d 22 30 22 0a 65 6c 73 65 0a 20 20 65 6e 61 62  ="0".else.  enab
69d0: 6c 65 5f 70 72 6f 66 3d 22 31 22 0a 66 69 0a 5d  le_prof="1".fi.]
69e0: 2c 0a 5b 65 6e 61 62 6c 65 5f 70 72 6f 66 3d 22  ,.[enable_prof="
69f0: 30 22 5d 0a 29 0a 69 66 20 74 65 73 74 20 22 78  0"].).if test "x
6a00: 24 65 6e 61 62 6c 65 5f 70 72 6f 66 22 20 3d 20  $enable_prof" = 
6a10: 22 78 31 22 20 3b 20 74 68 65 6e 0a 20 20 62 61  "x1" ; then.  ba
6a20: 63 6b 74 72 61 63 65 5f 6d 65 74 68 6f 64 3d 22  cktrace_method="
6a30: 22 0a 65 6c 73 65 0a 20 20 62 61 63 6b 74 72 61  ".else.  backtra
6a40: 63 65 5f 6d 65 74 68 6f 64 3d 22 4e 2f 41 22 0a  ce_method="N/A".
6a50: 66 69 0a 0a 41 43 5f 41 52 47 5f 45 4e 41 42 4c  fi..AC_ARG_ENABL
6a60: 45 28 5b 70 72 6f 66 2d 6c 69 62 75 6e 77 69 6e  E([prof-libunwin
6a70: 64 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c 50 5f 53  d],.  [AS_HELP_S
6a80: 54 52 49 4e 47 28 5b 2d 2d 65 6e 61 62 6c 65 2d  TRING([--enable-
6a90: 70 72 6f 66 2d 6c 69 62 75 6e 77 69 6e 64 5d 2c  prof-libunwind],
6aa0: 20 5b 55 73 65 20 6c 69 62 75 6e 77 69 6e 64 20   [Use libunwind 
6ab0: 66 6f 72 20 62 61 63 6b 74 72 61 63 69 6e 67 5d  for backtracing]
6ac0: 29 5d 2c 0a 5b 69 66 20 74 65 73 74 20 22 78 24  )],.[if test "x$
6ad0: 65 6e 61 62 6c 65 5f 70 72 6f 66 5f 6c 69 62 75  enable_prof_libu
6ae0: 6e 77 69 6e 64 22 20 3d 20 22 78 6e 6f 22 20 3b  nwind" = "xno" ;
6af0: 20 74 68 65 6e 0a 20 20 65 6e 61 62 6c 65 5f 70   then.  enable_p
6b00: 72 6f 66 5f 6c 69 62 75 6e 77 69 6e 64 3d 22 30  rof_libunwind="0
6b10: 22 0a 65 6c 73 65 0a 20 20 65 6e 61 62 6c 65 5f  ".else.  enable_
6b20: 70 72 6f 66 5f 6c 69 62 75 6e 77 69 6e 64 3d 22  prof_libunwind="
6b30: 31 22 0a 66 69 0a 5d 2c 0a 5b 65 6e 61 62 6c 65  1".fi.],.[enable
6b40: 5f 70 72 6f 66 5f 6c 69 62 75 6e 77 69 6e 64 3d  _prof_libunwind=
6b50: 22 30 22 5d 0a 29 0a 41 43 5f 41 52 47 5f 57 49  "0"].).AC_ARG_WI
6b60: 54 48 28 5b 73 74 61 74 69 63 5f 6c 69 62 75 6e  TH([static_libun
6b70: 77 69 6e 64 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c  wind],.  [AS_HEL
6b80: 50 5f 53 54 52 49 4e 47 28 5b 2d 2d 77 69 74 68  P_STRING([--with
6b90: 2d 73 74 61 74 69 63 2d 6c 69 62 75 6e 77 69 6e  -static-libunwin
6ba0: 64 3d 3c 6c 69 62 75 6e 77 69 6e 64 2e 61 3e 5d  d=<libunwind.a>]
6bb0: 2c 0a 20 20 5b 50 61 74 68 20 74 6f 20 73 74 61  ,.  [Path to sta
6bc0: 74 69 63 20 6c 69 62 75 6e 77 69 6e 64 20 6c 69  tic libunwind li
6bd0: 62 72 61 72 79 3b 20 75 73 65 20 72 61 74 68 65  brary; use rathe
6be0: 72 20 74 68 61 6e 20 64 79 6e 61 6d 69 63 61 6c  r than dynamical
6bf0: 6c 79 20 6c 69 6e 6b 69 6e 67 5d 29 5d 2c 0a 69  ly linking])],.i
6c00: 66 20 74 65 73 74 20 22 78 24 77 69 74 68 5f 73  f test "x$with_s
6c10: 74 61 74 69 63 5f 6c 69 62 75 6e 77 69 6e 64 22  tatic_libunwind"
6c20: 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65 6e 0a   = "xno" ; then.
6c30: 20 20 4c 55 4e 57 49 4e 44 3d 22 2d 6c 75 6e 77    LUNWIND="-lunw
6c40: 69 6e 64 22 0a 65 6c 73 65 0a 20 20 69 66 20 74  ind".else.  if t
6c50: 65 73 74 20 21 20 2d 66 20 22 24 77 69 74 68 5f  est ! -f "$with_
6c60: 73 74 61 74 69 63 5f 6c 69 62 75 6e 77 69 6e 64  static_libunwind
6c70: 22 20 3b 20 74 68 65 6e 0a 20 20 20 20 41 43 5f  " ; then.    AC_
6c80: 4d 53 47 5f 45 52 52 4f 52 28 5b 53 74 61 74 69  MSG_ERROR([Stati
6c90: 63 20 6c 69 62 75 6e 77 69 6e 64 20 6e 6f 74 20  c libunwind not 
6ca0: 66 6f 75 6e 64 3a 20 24 77 69 74 68 5f 73 74 61  found: $with_sta
6cb0: 74 69 63 5f 6c 69 62 75 6e 77 69 6e 64 5d 29 0a  tic_libunwind]).
6cc0: 20 20 66 69 0a 20 20 4c 55 4e 57 49 4e 44 3d 22    fi.  LUNWIND="
6cd0: 24 77 69 74 68 5f 73 74 61 74 69 63 5f 6c 69 62  $with_static_lib
6ce0: 75 6e 77 69 6e 64 22 0a 66 69 2c 0a 20 20 4c 55  unwind".fi,.  LU
6cf0: 4e 57 49 4e 44 3d 22 2d 6c 75 6e 77 69 6e 64 22  NWIND="-lunwind"
6d00: 0a 29 0a 69 66 20 74 65 73 74 20 22 78 24 62 61  .).if test "x$ba
6d10: 63 6b 74 72 61 63 65 5f 6d 65 74 68 6f 64 22 20  cktrace_method" 
6d20: 3d 20 22 78 22 20 2d 61 20 22 78 24 65 6e 61 62  = "x" -a "x$enab
6d30: 6c 65 5f 70 72 6f 66 5f 6c 69 62 75 6e 77 69 6e  le_prof_libunwin
6d40: 64 22 20 3d 20 22 78 31 22 20 3b 20 74 68 65 6e  d" = "x1" ; then
6d50: 0a 20 20 41 43 5f 43 48 45 43 4b 5f 48 45 41 44  .  AC_CHECK_HEAD
6d60: 45 52 53 28 5b 6c 69 62 75 6e 77 69 6e 64 2e 68  ERS([libunwind.h
6d70: 5d 2c 20 2c 20 5b 65 6e 61 62 6c 65 5f 70 72 6f  ], , [enable_pro
6d80: 66 5f 6c 69 62 75 6e 77 69 6e 64 3d 22 30 22 5d  f_libunwind="0"]
6d90: 29 0a 20 20 69 66 20 74 65 73 74 20 22 78 24 4c  ).  if test "x$L
6da0: 55 4e 57 49 4e 44 22 20 3d 20 22 78 2d 6c 75 6e  UNWIND" = "x-lun
6db0: 77 69 6e 64 22 20 3b 20 74 68 65 6e 0a 20 20 20  wind" ; then.   
6dc0: 20 41 43 5f 43 48 45 43 4b 5f 4c 49 42 28 5b 75   AC_CHECK_LIB([u
6dd0: 6e 77 69 6e 64 5d 2c 20 5b 75 6e 77 5f 62 61 63  nwind], [unw_bac
6de0: 6b 74 72 61 63 65 5d 2c 20 5b 4a 45 5f 41 50 50  ktrace], [JE_APP
6df0: 45 4e 44 5f 56 53 28 4c 49 42 53 2c 20 24 4c 55  END_VS(LIBS, $LU
6e00: 4e 57 49 4e 44 29 5d 2c 0a 20 20 20 20 20 20 20  NWIND)],.       
6e10: 20 20 20 20 20 20 20 20 20 20 5b 65 6e 61 62 6c            [enabl
6e20: 65 5f 70 72 6f 66 5f 6c 69 62 75 6e 77 69 6e 64  e_prof_libunwind
6e30: 3d 22 30 22 5d 29 0a 20 20 65 6c 73 65 0a 20 20  ="0"]).  else.  
6e40: 20 20 4a 45 5f 41 50 50 45 4e 44 5f 56 53 28 4c    JE_APPEND_VS(L
6e50: 49 42 53 2c 20 24 4c 55 4e 57 49 4e 44 29 0a 20  IBS, $LUNWIND). 
6e60: 20 66 69 0a 20 20 69 66 20 74 65 73 74 20 22 78   fi.  if test "x
6e70: 24 7b 65 6e 61 62 6c 65 5f 70 72 6f 66 5f 6c 69  ${enable_prof_li
6e80: 62 75 6e 77 69 6e 64 7d 22 20 3d 20 22 78 31 22  bunwind}" = "x1"
6e90: 20 3b 20 74 68 65 6e 0a 20 20 20 20 62 61 63 6b   ; then.    back
6ea0: 74 72 61 63 65 5f 6d 65 74 68 6f 64 3d 22 6c 69  trace_method="li
6eb0: 62 75 6e 77 69 6e 64 22 0a 20 20 20 20 41 43 5f  bunwind".    AC_
6ec0: 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43  DEFINE([JEMALLOC
6ed0: 5f 50 52 4f 46 5f 4c 49 42 55 4e 57 49 4e 44 5d  _PROF_LIBUNWIND]
6ee0: 2c 20 5b 20 5d 29 0a 20 20 66 69 0a 66 69 0a 0a  , [ ]).  fi.fi..
6ef0: 41 43 5f 41 52 47 5f 45 4e 41 42 4c 45 28 5b 70  AC_ARG_ENABLE([p
6f00: 72 6f 66 2d 6c 69 62 67 63 63 5d 2c 0a 20 20 5b  rof-libgcc],.  [
6f10: 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e 47 28 5b  AS_HELP_STRING([
6f20: 2d 2d 64 69 73 61 62 6c 65 2d 70 72 6f 66 2d 6c  --disable-prof-l
6f30: 69 62 67 63 63 5d 2c 0a 20 20 5b 44 6f 20 6e 6f  ibgcc],.  [Do no
6f40: 74 20 75 73 65 20 6c 69 62 67 63 63 20 66 6f 72  t use libgcc for
6f50: 20 62 61 63 6b 74 72 61 63 69 6e 67 5d 29 5d 2c   backtracing])],
6f60: 0a 5b 69 66 20 74 65 73 74 20 22 78 24 65 6e 61  .[if test "x$ena
6f70: 62 6c 65 5f 70 72 6f 66 5f 6c 69 62 67 63 63 22  ble_prof_libgcc"
6f80: 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65 6e 0a   = "xno" ; then.
6f90: 20 20 65 6e 61 62 6c 65 5f 70 72 6f 66 5f 6c 69    enable_prof_li
6fa0: 62 67 63 63 3d 22 30 22 0a 65 6c 73 65 0a 20 20  bgcc="0".else.  
6fb0: 65 6e 61 62 6c 65 5f 70 72 6f 66 5f 6c 69 62 67  enable_prof_libg
6fc0: 63 63 3d 22 31 22 0a 66 69 0a 5d 2c 0a 5b 65 6e  cc="1".fi.],.[en
6fd0: 61 62 6c 65 5f 70 72 6f 66 5f 6c 69 62 67 63 63  able_prof_libgcc
6fe0: 3d 22 31 22 5d 0a 29 0a 69 66 20 74 65 73 74 20  ="1"].).if test 
6ff0: 22 78 24 62 61 63 6b 74 72 61 63 65 5f 6d 65 74  "x$backtrace_met
7000: 68 6f 64 22 20 3d 20 22 78 22 20 2d 61 20 22 78  hod" = "x" -a "x
7010: 24 65 6e 61 62 6c 65 5f 70 72 6f 66 5f 6c 69 62  $enable_prof_lib
7020: 67 63 63 22 20 3d 20 22 78 31 22 20 5c 0a 20 20  gcc" = "x1" \.  
7030: 20 20 20 2d 61 20 22 78 24 47 43 43 22 20 3d 20     -a "x$GCC" = 
7040: 22 78 79 65 73 22 20 3b 20 74 68 65 6e 0a 20 20  "xyes" ; then.  
7050: 41 43 5f 43 48 45 43 4b 5f 48 45 41 44 45 52 53  AC_CHECK_HEADERS
7060: 28 5b 75 6e 77 69 6e 64 2e 68 5d 2c 20 2c 20 5b  ([unwind.h], , [
7070: 65 6e 61 62 6c 65 5f 70 72 6f 66 5f 6c 69 62 67  enable_prof_libg
7080: 63 63 3d 22 30 22 5d 29 0a 20 20 41 43 5f 43 48  cc="0"]).  AC_CH
7090: 45 43 4b 5f 4c 49 42 28 5b 67 63 63 5d 2c 20 5b  ECK_LIB([gcc], [
70a0: 5f 55 6e 77 69 6e 64 5f 42 61 63 6b 74 72 61 63  _Unwind_Backtrac
70b0: 65 5d 2c 20 5b 4a 45 5f 41 50 50 45 4e 44 5f 56  e], [JE_APPEND_V
70c0: 53 28 4c 49 42 53 2c 20 2d 6c 67 63 63 29 5d 2c  S(LIBS, -lgcc)],
70d0: 20 5b 65 6e 61 62 6c 65 5f 70 72 6f 66 5f 6c 69   [enable_prof_li
70e0: 62 67 63 63 3d 22 30 22 5d 29 0a 20 20 69 66 20  bgcc="0"]).  if 
70f0: 74 65 73 74 20 22 78 24 7b 65 6e 61 62 6c 65 5f  test "x${enable_
7100: 70 72 6f 66 5f 6c 69 62 67 63 63 7d 22 20 3d 20  prof_libgcc}" = 
7110: 22 78 31 22 20 3b 20 74 68 65 6e 0a 20 20 20 20  "x1" ; then.    
7120: 62 61 63 6b 74 72 61 63 65 5f 6d 65 74 68 6f 64  backtrace_method
7130: 3d 22 6c 69 62 67 63 63 22 0a 20 20 20 20 41 43  ="libgcc".    AC
7140: 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f  _DEFINE([JEMALLO
7150: 43 5f 50 52 4f 46 5f 4c 49 42 47 43 43 5d 2c 20  C_PROF_LIBGCC], 
7160: 5b 20 5d 29 0a 20 20 66 69 0a 65 6c 73 65 0a 20  [ ]).  fi.else. 
7170: 20 65 6e 61 62 6c 65 5f 70 72 6f 66 5f 6c 69 62   enable_prof_lib
7180: 67 63 63 3d 22 30 22 0a 66 69 0a 0a 41 43 5f 41  gcc="0".fi..AC_A
7190: 52 47 5f 45 4e 41 42 4c 45 28 5b 70 72 6f 66 2d  RG_ENABLE([prof-
71a0: 67 63 63 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c 50  gcc],.  [AS_HELP
71b0: 5f 53 54 52 49 4e 47 28 5b 2d 2d 64 69 73 61 62  _STRING([--disab
71c0: 6c 65 2d 70 72 6f 66 2d 67 63 63 5d 2c 0a 20 20  le-prof-gcc],.  
71d0: 5b 44 6f 20 6e 6f 74 20 75 73 65 20 67 63 63 20  [Do not use gcc 
71e0: 69 6e 74 72 69 6e 73 69 63 73 20 66 6f 72 20 62  intrinsics for b
71f0: 61 63 6b 74 72 61 63 69 6e 67 5d 29 5d 2c 0a 5b  acktracing])],.[
7200: 69 66 20 74 65 73 74 20 22 78 24 65 6e 61 62 6c  if test "x$enabl
7210: 65 5f 70 72 6f 66 5f 67 63 63 22 20 3d 20 22 78  e_prof_gcc" = "x
7220: 6e 6f 22 20 3b 20 74 68 65 6e 0a 20 20 65 6e 61  no" ; then.  ena
7230: 62 6c 65 5f 70 72 6f 66 5f 67 63 63 3d 22 30 22  ble_prof_gcc="0"
7240: 0a 65 6c 73 65 0a 20 20 65 6e 61 62 6c 65 5f 70  .else.  enable_p
7250: 72 6f 66 5f 67 63 63 3d 22 31 22 0a 66 69 0a 5d  rof_gcc="1".fi.]
7260: 2c 0a 5b 65 6e 61 62 6c 65 5f 70 72 6f 66 5f 67  ,.[enable_prof_g
7270: 63 63 3d 22 31 22 5d 0a 29 0a 69 66 20 74 65 73  cc="1"].).if tes
7280: 74 20 22 78 24 62 61 63 6b 74 72 61 63 65 5f 6d  t "x$backtrace_m
7290: 65 74 68 6f 64 22 20 3d 20 22 78 22 20 2d 61 20  ethod" = "x" -a 
72a0: 22 78 24 65 6e 61 62 6c 65 5f 70 72 6f 66 5f 67  "x$enable_prof_g
72b0: 63 63 22 20 3d 20 22 78 31 22 20 5c 0a 20 20 20  cc" = "x1" \.   
72c0: 20 20 2d 61 20 22 78 24 47 43 43 22 20 3d 20 22    -a "x$GCC" = "
72d0: 78 79 65 73 22 20 3b 20 74 68 65 6e 0a 20 20 4a  xyes" ; then.  J
72e0: 45 5f 43 46 4c 41 47 53 5f 41 44 44 28 5b 2d 66  E_CFLAGS_ADD([-f
72f0: 6e 6f 2d 6f 6d 69 74 2d 66 72 61 6d 65 2d 70 6f  no-omit-frame-po
7300: 69 6e 74 65 72 5d 29 0a 20 20 62 61 63 6b 74 72  inter]).  backtr
7310: 61 63 65 5f 6d 65 74 68 6f 64 3d 22 67 63 63 20  ace_method="gcc 
7320: 69 6e 74 72 69 6e 73 69 63 73 22 0a 20 20 41 43  intrinsics".  AC
7330: 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f  _DEFINE([JEMALLO
7340: 43 5f 50 52 4f 46 5f 47 43 43 5d 2c 20 5b 20 5d  C_PROF_GCC], [ ]
7350: 29 0a 65 6c 73 65 0a 20 20 65 6e 61 62 6c 65 5f  ).else.  enable_
7360: 70 72 6f 66 5f 67 63 63 3d 22 30 22 0a 66 69 0a  prof_gcc="0".fi.
7370: 0a 69 66 20 74 65 73 74 20 22 78 24 62 61 63 6b  .if test "x$back
7380: 74 72 61 63 65 5f 6d 65 74 68 6f 64 22 20 3d 20  trace_method" = 
7390: 22 78 22 20 3b 20 74 68 65 6e 0a 20 20 62 61 63  "x" ; then.  bac
73a0: 6b 74 72 61 63 65 5f 6d 65 74 68 6f 64 3d 22 6e  ktrace_method="n
73b0: 6f 6e 65 20 28 64 69 73 61 62 6c 69 6e 67 20 70  one (disabling p
73c0: 72 6f 66 69 6c 69 6e 67 29 22 0a 20 20 65 6e 61  rofiling)".  ena
73d0: 62 6c 65 5f 70 72 6f 66 3d 22 30 22 0a 66 69 0a  ble_prof="0".fi.
73e0: 41 43 5f 4d 53 47 5f 43 48 45 43 4b 49 4e 47 28  AC_MSG_CHECKING(
73f0: 5b 63 6f 6e 66 69 67 75 72 65 64 20 62 61 63 6b  [configured back
7400: 74 72 61 63 69 6e 67 20 6d 65 74 68 6f 64 5d 29  tracing method])
7410: 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b  .AC_MSG_RESULT([
7420: 24 62 61 63 6b 74 72 61 63 65 5f 6d 65 74 68 6f  $backtrace_metho
7430: 64 5d 29 0a 69 66 20 74 65 73 74 20 22 78 24 65  d]).if test "x$e
7440: 6e 61 62 6c 65 5f 70 72 6f 66 22 20 3d 20 22 78  nable_prof" = "x
7450: 31 22 20 3b 20 74 68 65 6e 0a 20 20 64 6e 6c 20  1" ; then.  dnl 
7460: 48 65 61 70 20 70 72 6f 66 69 6c 69 6e 67 20 75  Heap profiling u
7470: 73 65 73 20 74 68 65 20 6c 6f 67 28 33 29 20 66  ses the log(3) f
7480: 75 6e 63 74 69 6f 6e 2e 0a 20 20 4a 45 5f 41 50  unction..  JE_AP
7490: 50 45 4e 44 5f 56 53 28 4c 49 42 53 2c 20 24 4c  PEND_VS(LIBS, $L
74a0: 4d 29 0a 0a 20 20 41 43 5f 44 45 46 49 4e 45 28  M)..  AC_DEFINE(
74b0: 5b 4a 45 4d 41 4c 4c 4f 43 5f 50 52 4f 46 5d 2c  [JEMALLOC_PROF],
74c0: 20 5b 20 5d 29 0a 66 69 0a 41 43 5f 53 55 42 53   [ ]).fi.AC_SUBS
74d0: 54 28 5b 65 6e 61 62 6c 65 5f 70 72 6f 66 5d 29  T([enable_prof])
74e0: 0a 0a 64 6e 6c 20 45 6e 61 62 6c 65 20 74 68 72  ..dnl Enable thr
74f0: 65 61 64 2d 73 70 65 63 69 66 69 63 20 63 61 63  ead-specific cac
7500: 68 69 6e 67 20 62 79 20 64 65 66 61 75 6c 74 2e  hing by default.
7510: 0a 41 43 5f 41 52 47 5f 45 4e 41 42 4c 45 28 5b  .AC_ARG_ENABLE([
7520: 74 63 61 63 68 65 5d 2c 0a 20 20 5b 41 53 5f 48  tcache],.  [AS_H
7530: 45 4c 50 5f 53 54 52 49 4e 47 28 5b 2d 2d 64 69  ELP_STRING([--di
7540: 73 61 62 6c 65 2d 74 63 61 63 68 65 5d 2c 20 5b  sable-tcache], [
7550: 44 69 73 61 62 6c 65 20 70 65 72 20 74 68 72 65  Disable per thre
7560: 61 64 20 63 61 63 68 65 73 5d 29 5d 2c 0a 5b 69  ad caches])],.[i
7570: 66 20 74 65 73 74 20 22 78 24 65 6e 61 62 6c 65  f test "x$enable
7580: 5f 74 63 61 63 68 65 22 20 3d 20 22 78 6e 6f 22  _tcache" = "xno"
7590: 20 3b 20 74 68 65 6e 0a 20 20 65 6e 61 62 6c 65   ; then.  enable
75a0: 5f 74 63 61 63 68 65 3d 22 30 22 0a 65 6c 73 65  _tcache="0".else
75b0: 0a 20 20 65 6e 61 62 6c 65 5f 74 63 61 63 68 65  .  enable_tcache
75c0: 3d 22 31 22 0a 66 69 0a 5d 2c 0a 5b 65 6e 61 62  ="1".fi.],.[enab
75d0: 6c 65 5f 74 63 61 63 68 65 3d 22 31 22 5d 0a 29  le_tcache="1"].)
75e0: 0a 69 66 20 74 65 73 74 20 22 78 24 65 6e 61 62  .if test "x$enab
75f0: 6c 65 5f 74 63 61 63 68 65 22 20 3d 20 22 78 31  le_tcache" = "x1
7600: 22 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45  " ; then.  AC_DE
7610: 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 54  FINE([JEMALLOC_T
7620: 43 41 43 48 45 5d 2c 20 5b 20 5d 29 0a 66 69 0a  CACHE], [ ]).fi.
7630: 41 43 5f 53 55 42 53 54 28 5b 65 6e 61 62 6c 65  AC_SUBST([enable
7640: 5f 74 63 61 63 68 65 5d 29 0a 0a 64 6e 6c 20 49  _tcache])..dnl I
7650: 6e 64 69 63 61 74 65 20 77 68 65 74 68 65 72 20  ndicate whether 
7660: 61 64 6a 61 63 65 6e 74 20 76 69 72 74 75 61 6c  adjacent virtual
7670: 20 6d 65 6d 6f 72 79 20 6d 61 70 70 69 6e 67 73   memory mappings
7680: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63   automatically c
7690: 6f 61 6c 65 73 63 65 0a 64 6e 6c 20 28 61 6e 64  oalesce.dnl (and
76a0: 20 66 72 61 67 6d 65 6e 74 20 6f 6e 20 64 65 6d   fragment on dem
76b0: 61 6e 64 29 2e 0a 69 66 20 74 65 73 74 20 22 78  and)..if test "x
76c0: 24 7b 6d 61 70 73 5f 63 6f 61 6c 65 73 63 65 7d  ${maps_coalesce}
76d0: 22 20 3d 20 22 78 31 22 20 3b 20 74 68 65 6e 0a  " = "x1" ; then.
76e0: 20 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d    AC_DEFINE([JEM
76f0: 41 4c 4c 4f 43 5f 4d 41 50 53 5f 43 4f 41 4c 45  ALLOC_MAPS_COALE
7700: 53 43 45 5d 2c 20 5b 20 5d 29 0a 66 69 0a 0a 64  SCE], [ ]).fi..d
7710: 6e 6c 20 45 6e 61 62 6c 65 20 56 4d 20 64 65 61  nl Enable VM dea
7720: 6c 6c 6f 63 61 74 69 6f 6e 20 76 69 61 20 6d 75  llocation via mu
7730: 6e 6d 61 70 28 29 20 62 79 20 64 65 66 61 75 6c  nmap() by defaul
7740: 74 2e 0a 41 43 5f 41 52 47 5f 45 4e 41 42 4c 45  t..AC_ARG_ENABLE
7750: 28 5b 6d 75 6e 6d 61 70 5d 2c 0a 20 20 5b 41 53  ([munmap],.  [AS
7760: 5f 48 45 4c 50 5f 53 54 52 49 4e 47 28 5b 2d 2d  _HELP_STRING([--
7770: 64 69 73 61 62 6c 65 2d 6d 75 6e 6d 61 70 5d 2c  disable-munmap],
7780: 20 5b 44 69 73 61 62 6c 65 20 56 4d 20 64 65 61   [Disable VM dea
7790: 6c 6c 6f 63 61 74 69 6f 6e 20 76 69 61 20 6d 75  llocation via mu
77a0: 6e 6d 61 70 28 32 29 5d 29 5d 2c 0a 5b 69 66 20  nmap(2)])],.[if 
77b0: 74 65 73 74 20 22 78 24 65 6e 61 62 6c 65 5f 6d  test "x$enable_m
77c0: 75 6e 6d 61 70 22 20 3d 20 22 78 6e 6f 22 20 3b  unmap" = "xno" ;
77d0: 20 74 68 65 6e 0a 20 20 65 6e 61 62 6c 65 5f 6d   then.  enable_m
77e0: 75 6e 6d 61 70 3d 22 30 22 0a 65 6c 73 65 0a 20  unmap="0".else. 
77f0: 20 65 6e 61 62 6c 65 5f 6d 75 6e 6d 61 70 3d 22   enable_munmap="
7800: 31 22 0a 66 69 0a 5d 2c 0a 5b 65 6e 61 62 6c 65  1".fi.],.[enable
7810: 5f 6d 75 6e 6d 61 70 3d 22 24 7b 64 65 66 61 75  _munmap="${defau
7820: 6c 74 5f 6d 75 6e 6d 61 70 7d 22 5d 0a 29 0a 69  lt_munmap}"].).i
7830: 66 20 74 65 73 74 20 22 78 24 65 6e 61 62 6c 65  f test "x$enable
7840: 5f 6d 75 6e 6d 61 70 22 20 3d 20 22 78 31 22 20  _munmap" = "x1" 
7850: 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45 46 49  ; then.  AC_DEFI
7860: 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 4d 55 4e  NE([JEMALLOC_MUN
7870: 4d 41 50 5d 2c 20 5b 20 5d 29 0a 66 69 0a 41 43  MAP], [ ]).fi.AC
7880: 5f 53 55 42 53 54 28 5b 65 6e 61 62 6c 65 5f 6d  _SUBST([enable_m
7890: 75 6e 6d 61 70 5d 29 0a 0a 64 6e 6c 20 45 6e 61  unmap])..dnl Ena
78a0: 62 6c 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66  ble allocation f
78b0: 72 6f 6d 20 44 53 53 20 69 66 20 73 75 70 70 6f  rom DSS if suppo
78c0: 72 74 65 64 20 62 79 20 74 68 65 20 4f 53 2e 0a  rted by the OS..
78d0: 68 61 76 65 5f 64 73 73 3d 22 31 22 0a 64 6e 6c  have_dss="1".dnl
78e0: 20 43 68 65 63 6b 20 77 68 65 74 68 65 72 20 74   Check whether t
78f0: 68 65 20 42 53 44 2f 53 55 53 76 31 20 73 62 72  he BSD/SUSv1 sbr
7900: 6b 28 29 20 65 78 69 73 74 73 2e 20 20 49 66 20  k() exists.  If 
7910: 6e 6f 74 2c 20 64 69 73 61 62 6c 65 20 44 53 53  not, disable DSS
7920: 20 73 75 70 70 6f 72 74 2e 0a 41 43 5f 43 48 45   support..AC_CHE
7930: 43 4b 5f 46 55 4e 43 28 5b 73 62 72 6b 5d 2c 20  CK_FUNC([sbrk], 
7940: 5b 68 61 76 65 5f 73 62 72 6b 3d 22 31 22 5d 2c  [have_sbrk="1"],
7950: 20 5b 68 61 76 65 5f 73 62 72 6b 3d 22 30 22 5d   [have_sbrk="0"]
7960: 29 0a 69 66 20 74 65 73 74 20 22 78 24 68 61 76  ).if test "x$hav
7970: 65 5f 73 62 72 6b 22 20 3d 20 22 78 31 22 20 3b  e_sbrk" = "x1" ;
7980: 20 74 68 65 6e 0a 20 20 69 66 20 74 65 73 74 20   then.  if test 
7990: 22 78 24 73 62 72 6b 5f 64 65 70 72 65 63 61 74  "x$sbrk_deprecat
79a0: 65 64 22 20 3d 20 22 78 31 22 20 3b 20 74 68 65  ed" = "x1" ; the
79b0: 6e 0a 20 20 20 20 41 43 5f 4d 53 47 5f 52 45 53  n.    AC_MSG_RES
79c0: 55 4c 54 28 5b 44 69 73 61 62 6c 69 6e 67 20 64  ULT([Disabling d
79d0: 73 73 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 62 65  ss allocation be
79e0: 63 61 75 73 65 20 73 62 72 6b 20 69 73 20 64 65  cause sbrk is de
79f0: 70 72 65 63 61 74 65 64 5d 29 0a 20 20 20 20 68  precated]).    h
7a00: 61 76 65 5f 64 73 73 3d 22 30 22 0a 20 20 66 69  ave_dss="0".  fi
7a10: 0a 65 6c 73 65 0a 20 20 68 61 76 65 5f 64 73 73  .else.  have_dss
7a20: 3d 22 30 22 0a 66 69 0a 0a 69 66 20 74 65 73 74  ="0".fi..if test
7a30: 20 22 78 24 68 61 76 65 5f 64 73 73 22 20 3d 20   "x$have_dss" = 
7a40: 22 78 31 22 20 3b 20 74 68 65 6e 0a 20 20 41 43  "x1" ; then.  AC
7a50: 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f  _DEFINE([JEMALLO
7a60: 43 5f 44 53 53 5d 2c 20 5b 20 5d 29 0a 66 69 0a  C_DSS], [ ]).fi.
7a70: 0a 64 6e 6c 20 53 75 70 70 6f 72 74 20 74 68 65  .dnl Support the
7a80: 20 6a 75 6e 6b 2f 7a 65 72 6f 20 66 69 6c 6c 69   junk/zero filli
7a90: 6e 67 20 6f 70 74 69 6f 6e 20 62 79 20 64 65 66  ng option by def
7aa0: 61 75 6c 74 2e 0a 41 43 5f 41 52 47 5f 45 4e 41  ault..AC_ARG_ENA
7ab0: 42 4c 45 28 5b 66 69 6c 6c 5d 2c 0a 20 20 5b 41  BLE([fill],.  [A
7ac0: 53 5f 48 45 4c 50 5f 53 54 52 49 4e 47 28 5b 2d  S_HELP_STRING([-
7ad0: 2d 64 69 73 61 62 6c 65 2d 66 69 6c 6c 5d 2c 0a  -disable-fill],.
7ae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
7af0: 20 20 5b 44 69 73 61 62 6c 65 20 73 75 70 70 6f    [Disable suppo
7b00: 72 74 20 66 6f 72 20 6a 75 6e 6b 2f 7a 65 72 6f  rt for junk/zero
7b10: 20 66 69 6c 6c 69 6e 67 2c 20 71 75 61 72 61 6e   filling, quaran
7b20: 74 69 6e 65 2c 20 61 6e 64 20 72 65 64 7a 6f 6e  tine, and redzon
7b30: 65 73 5d 29 5d 2c 0a 5b 69 66 20 74 65 73 74 20  es])],.[if test 
7b40: 22 78 24 65 6e 61 62 6c 65 5f 66 69 6c 6c 22 20  "x$enable_fill" 
7b50: 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65 6e 0a 20  = "xno" ; then. 
7b60: 20 65 6e 61 62 6c 65 5f 66 69 6c 6c 3d 22 30 22   enable_fill="0"
7b70: 0a 65 6c 73 65 0a 20 20 65 6e 61 62 6c 65 5f 66  .else.  enable_f
7b80: 69 6c 6c 3d 22 31 22 0a 66 69 0a 5d 2c 0a 5b 65  ill="1".fi.],.[e
7b90: 6e 61 62 6c 65 5f 66 69 6c 6c 3d 22 31 22 5d 0a  nable_fill="1"].
7ba0: 29 0a 69 66 20 74 65 73 74 20 22 78 24 65 6e 61  ).if test "x$ena
7bb0: 62 6c 65 5f 66 69 6c 6c 22 20 3d 20 22 78 31 22  ble_fill" = "x1"
7bc0: 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45 46   ; then.  AC_DEF
7bd0: 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 46 49  INE([JEMALLOC_FI
7be0: 4c 4c 5d 2c 20 5b 20 5d 29 0a 66 69 0a 41 43 5f  LL], [ ]).fi.AC_
7bf0: 53 55 42 53 54 28 5b 65 6e 61 62 6c 65 5f 66 69  SUBST([enable_fi
7c00: 6c 6c 5d 29 0a 0a 64 6e 6c 20 44 69 73 61 62 6c  ll])..dnl Disabl
7c10: 65 20 75 74 72 61 63 65 28 32 29 2d 62 61 73 65  e utrace(2)-base
7c20: 64 20 74 72 61 63 69 6e 67 20 62 79 20 64 65 66  d tracing by def
7c30: 61 75 6c 74 2e 0a 41 43 5f 41 52 47 5f 45 4e 41  ault..AC_ARG_ENA
7c40: 42 4c 45 28 5b 75 74 72 61 63 65 5d 2c 0a 20 20  BLE([utrace],.  
7c50: 5b 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e 47 28  [AS_HELP_STRING(
7c60: 5b 2d 2d 65 6e 61 62 6c 65 2d 75 74 72 61 63 65  [--enable-utrace
7c70: 5d 2c 20 5b 45 6e 61 62 6c 65 20 75 74 72 61 63  ], [Enable utrac
7c80: 65 28 32 29 2d 62 61 73 65 64 20 74 72 61 63 69  e(2)-based traci
7c90: 6e 67 5d 29 5d 2c 0a 5b 69 66 20 74 65 73 74 20  ng])],.[if test 
7ca0: 22 78 24 65 6e 61 62 6c 65 5f 75 74 72 61 63 65  "x$enable_utrace
7cb0: 22 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65 6e  " = "xno" ; then
7cc0: 0a 20 20 65 6e 61 62 6c 65 5f 75 74 72 61 63 65  .  enable_utrace
7cd0: 3d 22 30 22 0a 65 6c 73 65 0a 20 20 65 6e 61 62  ="0".else.  enab
7ce0: 6c 65 5f 75 74 72 61 63 65 3d 22 31 22 0a 66 69  le_utrace="1".fi
7cf0: 0a 5d 2c 0a 5b 65 6e 61 62 6c 65 5f 75 74 72 61  .],.[enable_utra
7d00: 63 65 3d 22 30 22 5d 0a 29 0a 4a 45 5f 43 4f 4d  ce="0"].).JE_COM
7d10: 50 49 4c 41 42 4c 45 28 5b 75 74 72 61 63 65 28  PILABLE([utrace(
7d20: 32 29 5d 2c 20 5b 0a 23 69 6e 63 6c 75 64 65 20  2)], [.#include 
7d30: 3c 73 79 73 2f 74 79 70 65 73 2e 68 3e 0a 23 69  <sys/types.h>.#i
7d40: 6e 63 6c 75 64 65 20 3c 73 79 73 2f 70 61 72 61  nclude <sys/para
7d50: 6d 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73  m.h>.#include <s
7d60: 79 73 2f 74 69 6d 65 2e 68 3e 0a 23 69 6e 63 6c  ys/time.h>.#incl
7d70: 75 64 65 20 3c 73 79 73 2f 75 69 6f 2e 68 3e 0a  ude <sys/uio.h>.
7d80: 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6b 74  #include <sys/kt
7d90: 72 61 63 65 2e 68 3e 0a 5d 2c 20 5b 0a 09 75 74  race.h>.], [..ut
7da0: 72 61 63 65 28 28 76 6f 69 64 20 2a 29 30 2c 20  race((void *)0, 
7db0: 30 29 3b 0a 5d 2c 20 5b 6a 65 5f 63 76 5f 75 74  0);.], [je_cv_ut
7dc0: 72 61 63 65 5d 29 0a 69 66 20 74 65 73 74 20 22  race]).if test "
7dd0: 78 24 7b 6a 65 5f 63 76 5f 75 74 72 61 63 65 7d  x${je_cv_utrace}
7de0: 22 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65 6e  " = "xno" ; then
7df0: 0a 20 20 65 6e 61 62 6c 65 5f 75 74 72 61 63 65  .  enable_utrace
7e00: 3d 22 30 22 0a 66 69 0a 69 66 20 74 65 73 74 20  ="0".fi.if test 
7e10: 22 78 24 65 6e 61 62 6c 65 5f 75 74 72 61 63 65  "x$enable_utrace
7e20: 22 20 3d 20 22 78 31 22 20 3b 20 74 68 65 6e 0a  " = "x1" ; then.
7e30: 20 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d    AC_DEFINE([JEM
7e40: 41 4c 4c 4f 43 5f 55 54 52 41 43 45 5d 2c 20 5b  ALLOC_UTRACE], [
7e50: 20 5d 29 0a 66 69 0a 41 43 5f 53 55 42 53 54 28   ]).fi.AC_SUBST(
7e60: 5b 65 6e 61 62 6c 65 5f 75 74 72 61 63 65 5d 29  [enable_utrace])
7e70: 0a 0a 64 6e 6c 20 53 75 70 70 6f 72 74 20 56 61  ..dnl Support Va
7e80: 6c 67 72 69 6e 64 20 62 79 20 64 65 66 61 75 6c  lgrind by defaul
7e90: 74 2e 0a 41 43 5f 41 52 47 5f 45 4e 41 42 4c 45  t..AC_ARG_ENABLE
7ea0: 28 5b 76 61 6c 67 72 69 6e 64 5d 2c 0a 20 20 5b  ([valgrind],.  [
7eb0: 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e 47 28 5b  AS_HELP_STRING([
7ec0: 2d 2d 64 69 73 61 62 6c 65 2d 76 61 6c 67 72 69  --disable-valgri
7ed0: 6e 64 5d 2c 20 5b 44 69 73 61 62 6c 65 20 73 75  nd], [Disable su
7ee0: 70 70 6f 72 74 20 66 6f 72 20 56 61 6c 67 72 69  pport for Valgri
7ef0: 6e 64 5d 29 5d 2c 0a 5b 69 66 20 74 65 73 74 20  nd])],.[if test 
7f00: 22 78 24 65 6e 61 62 6c 65 5f 76 61 6c 67 72 69  "x$enable_valgri
7f10: 6e 64 22 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68  nd" = "xno" ; th
7f20: 65 6e 0a 20 20 65 6e 61 62 6c 65 5f 76 61 6c 67  en.  enable_valg
7f30: 72 69 6e 64 3d 22 30 22 0a 65 6c 73 65 0a 20 20  rind="0".else.  
7f40: 65 6e 61 62 6c 65 5f 76 61 6c 67 72 69 6e 64 3d  enable_valgrind=
7f50: 22 31 22 0a 66 69 0a 5d 2c 0a 5b 65 6e 61 62 6c  "1".fi.],.[enabl
7f60: 65 5f 76 61 6c 67 72 69 6e 64 3d 22 31 22 5d 0a  e_valgrind="1"].
7f70: 29 0a 69 66 20 74 65 73 74 20 22 78 24 65 6e 61  ).if test "x$ena
7f80: 62 6c 65 5f 76 61 6c 67 72 69 6e 64 22 20 3d 20  ble_valgrind" = 
7f90: 22 78 31 22 20 3b 20 74 68 65 6e 0a 20 20 4a 45  "x1" ; then.  JE
7fa0: 5f 43 4f 4d 50 49 4c 41 42 4c 45 28 5b 76 61 6c  _COMPILABLE([val
7fb0: 67 72 69 6e 64 5d 2c 20 5b 0a 23 69 6e 63 6c 75  grind], [.#inclu
7fc0: 64 65 20 3c 76 61 6c 67 72 69 6e 64 2f 76 61 6c  de <valgrind/val
7fd0: 67 72 69 6e 64 2e 68 3e 0a 23 69 6e 63 6c 75 64  grind.h>.#includ
7fe0: 65 20 3c 76 61 6c 67 72 69 6e 64 2f 6d 65 6d 63  e <valgrind/memc
7ff0: 68 65 63 6b 2e 68 3e 0a 0a 23 69 66 20 21 64 65  heck.h>..#if !de
8000: 66 69 6e 65 64 28 56 41 4c 47 52 49 4e 44 5f 52  fined(VALGRIND_R
8010: 45 53 49 5a 45 49 4e 50 4c 41 43 45 5f 42 4c 4f  ESIZEINPLACE_BLO
8020: 43 4b 29 0a 23 20 20 65 72 72 6f 72 20 22 49 6e  CK).#  error "In
8030: 63 6f 6d 70 61 74 69 62 6c 65 20 56 61 6c 67 72  compatible Valgr
8040: 69 6e 64 20 76 65 72 73 69 6f 6e 22 0a 23 65 6e  ind version".#en
8050: 64 69 66 0a 5d 2c 20 5b 5d 2c 20 5b 6a 65 5f 63  dif.], [], [je_c
8060: 76 5f 76 61 6c 67 72 69 6e 64 5d 29 0a 20 20 69  v_valgrind]).  i
8070: 66 20 74 65 73 74 20 22 78 24 7b 6a 65 5f 63 76  f test "x${je_cv
8080: 5f 76 61 6c 67 72 69 6e 64 7d 22 20 3d 20 22 78  _valgrind}" = "x
8090: 6e 6f 22 20 3b 20 74 68 65 6e 0a 20 20 20 20 65  no" ; then.    e
80a0: 6e 61 62 6c 65 5f 76 61 6c 67 72 69 6e 64 3d 22  nable_valgrind="
80b0: 30 22 0a 20 20 66 69 0a 20 20 69 66 20 74 65 73  0".  fi.  if tes
80c0: 74 20 22 78 24 65 6e 61 62 6c 65 5f 76 61 6c 67  t "x$enable_valg
80d0: 72 69 6e 64 22 20 3d 20 22 78 31 22 20 3b 20 74  rind" = "x1" ; t
80e0: 68 65 6e 0a 20 20 20 20 41 43 5f 44 45 46 49 4e  hen.    AC_DEFIN
80f0: 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 56 41 4c 47  E([JEMALLOC_VALG
8100: 52 49 4e 44 5d 2c 20 5b 20 5d 29 0a 20 20 66 69  RIND], [ ]).  fi
8110: 0a 66 69 0a 41 43 5f 53 55 42 53 54 28 5b 65 6e  .fi.AC_SUBST([en
8120: 61 62 6c 65 5f 76 61 6c 67 72 69 6e 64 5d 29 0a  able_valgrind]).
8130: 0a 64 6e 6c 20 44 6f 20 6e 6f 74 20 73 75 70 70  .dnl Do not supp
8140: 6f 72 74 20 74 68 65 20 78 6d 61 6c 6c 6f 63 20  ort the xmalloc 
8150: 6f 70 74 69 6f 6e 20 62 79 20 64 65 66 61 75 6c  option by defaul
8160: 74 2e 0a 41 43 5f 41 52 47 5f 45 4e 41 42 4c 45  t..AC_ARG_ENABLE
8170: 28 5b 78 6d 61 6c 6c 6f 63 5d 2c 0a 20 20 5b 41  ([xmalloc],.  [A
8180: 53 5f 48 45 4c 50 5f 53 54 52 49 4e 47 28 5b 2d  S_HELP_STRING([-
8190: 2d 65 6e 61 62 6c 65 2d 78 6d 61 6c 6c 6f 63 5d  -enable-xmalloc]
81a0: 2c 20 5b 53 75 70 70 6f 72 74 20 78 6d 61 6c 6c  , [Support xmall
81b0: 6f 63 20 6f 70 74 69 6f 6e 5d 29 5d 2c 0a 5b 69  oc option])],.[i
81c0: 66 20 74 65 73 74 20 22 78 24 65 6e 61 62 6c 65  f test "x$enable
81d0: 5f 78 6d 61 6c 6c 6f 63 22 20 3d 20 22 78 6e 6f  _xmalloc" = "xno
81e0: 22 20 3b 20 74 68 65 6e 0a 20 20 65 6e 61 62 6c  " ; then.  enabl
81f0: 65 5f 78 6d 61 6c 6c 6f 63 3d 22 30 22 0a 65 6c  e_xmalloc="0".el
8200: 73 65 0a 20 20 65 6e 61 62 6c 65 5f 78 6d 61 6c  se.  enable_xmal
8210: 6c 6f 63 3d 22 31 22 0a 66 69 0a 5d 2c 0a 5b 65  loc="1".fi.],.[e
8220: 6e 61 62 6c 65 5f 78 6d 61 6c 6c 6f 63 3d 22 30  nable_xmalloc="0
8230: 22 5d 0a 29 0a 69 66 20 74 65 73 74 20 22 78 24  "].).if test "x$
8240: 65 6e 61 62 6c 65 5f 78 6d 61 6c 6c 6f 63 22 20  enable_xmalloc" 
8250: 3d 20 22 78 31 22 20 3b 20 74 68 65 6e 0a 20 20  = "x1" ; then.  
8260: 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c  AC_DEFINE([JEMAL
8270: 4c 4f 43 5f 58 4d 41 4c 4c 4f 43 5d 2c 20 5b 20  LOC_XMALLOC], [ 
8280: 5d 29 0a 66 69 0a 41 43 5f 53 55 42 53 54 28 5b  ]).fi.AC_SUBST([
8290: 65 6e 61 62 6c 65 5f 78 6d 61 6c 6c 6f 63 5d 29  enable_xmalloc])
82a0: 0a 0a 64 6e 6c 20 53 75 70 70 6f 72 74 20 63 61  ..dnl Support ca
82b0: 63 68 65 2d 6f 62 6c 69 76 69 6f 75 73 20 61 6c  che-oblivious al
82c0: 6c 6f 63 61 74 69 6f 6e 20 61 6c 69 67 6e 6d 65  location alignme
82d0: 6e 74 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 41  nt by default..A
82e0: 43 5f 41 52 47 5f 45 4e 41 42 4c 45 28 5b 63 61  C_ARG_ENABLE([ca
82f0: 63 68 65 2d 6f 62 6c 69 76 69 6f 75 73 5d 2c 0a  che-oblivious],.
8300: 20 20 5b 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e    [AS_HELP_STRIN
8310: 47 28 5b 2d 2d 64 69 73 61 62 6c 65 2d 63 61 63  G([--disable-cac
8320: 68 65 2d 6f 62 6c 69 76 69 6f 75 73 5d 2c 0a 20  he-oblivious],. 
8330: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
8340: 20 5b 44 69 73 61 62 6c 65 20 73 75 70 70 6f 72   [Disable suppor
8350: 74 20 66 6f 72 20 63 61 63 68 65 2d 6f 62 6c 69  t for cache-obli
8360: 76 69 6f 75 73 20 61 6c 6c 6f 63 61 74 69 6f 6e  vious allocation
8370: 20 61 6c 69 67 6e 6d 65 6e 74 5d 29 5d 2c 0a 5b   alignment])],.[
8380: 69 66 20 74 65 73 74 20 22 78 24 65 6e 61 62 6c  if test "x$enabl
8390: 65 5f 63 61 63 68 65 5f 6f 62 6c 69 76 69 6f 75  e_cache_obliviou
83a0: 73 22 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65  s" = "xno" ; the
83b0: 6e 0a 20 20 65 6e 61 62 6c 65 5f 63 61 63 68 65  n.  enable_cache
83c0: 5f 6f 62 6c 69 76 69 6f 75 73 3d 22 30 22 0a 65  _oblivious="0".e
83d0: 6c 73 65 0a 20 20 65 6e 61 62 6c 65 5f 63 61 63  lse.  enable_cac
83e0: 68 65 5f 6f 62 6c 69 76 69 6f 75 73 3d 22 31 22  he_oblivious="1"
83f0: 0a 66 69 0a 5d 2c 0a 5b 65 6e 61 62 6c 65 5f 63  .fi.],.[enable_c
8400: 61 63 68 65 5f 6f 62 6c 69 76 69 6f 75 73 3d 22  ache_oblivious="
8410: 31 22 5d 0a 29 0a 69 66 20 74 65 73 74 20 22 78  1"].).if test "x
8420: 24 65 6e 61 62 6c 65 5f 63 61 63 68 65 5f 6f 62  $enable_cache_ob
8430: 6c 69 76 69 6f 75 73 22 20 3d 20 22 78 31 22 20  livious" = "x1" 
8440: 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45 46 49  ; then.  AC_DEFI
8450: 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 43 41 43  NE([JEMALLOC_CAC
8460: 48 45 5f 4f 42 4c 49 56 49 4f 55 53 5d 2c 20 5b  HE_OBLIVIOUS], [
8470: 20 5d 29 0a 66 69 0a 41 43 5f 53 55 42 53 54 28   ]).fi.AC_SUBST(
8480: 5b 65 6e 61 62 6c 65 5f 63 61 63 68 65 5f 6f 62  [enable_cache_ob
8490: 6c 69 76 69 6f 75 73 5d 29 0a 0a 0a 0a 4a 45 5f  livious])....JE_
84a0: 43 4f 4d 50 49 4c 41 42 4c 45 28 5b 61 20 70 72  COMPILABLE([a pr
84b0: 6f 67 72 61 6d 20 75 73 69 6e 67 20 5f 5f 62 75  ogram using __bu
84c0: 69 6c 74 69 6e 5f 75 6e 72 65 61 63 68 61 62 6c  iltin_unreachabl
84d0: 65 5d 2c 20 5b 0a 76 6f 69 64 20 66 6f 6f 20 28  e], [.void foo (
84e0: 76 6f 69 64 29 20 7b 0a 20 20 5f 5f 62 75 69 6c  void) {.  __buil
84f0: 74 69 6e 5f 75 6e 72 65 61 63 68 61 62 6c 65 28  tin_unreachable(
8500: 29 3b 0a 7d 0a 5d 2c 20 5b 0a 09 7b 0a 09 09 66  );.}.], [..{...f
8510: 6f 6f 28 29 3b 0a 09 7d 0a 5d 2c 20 5b 6a 65 5f  oo();..}.], [je_
8520: 63 76 5f 67 63 63 5f 62 75 69 6c 74 69 6e 5f 75  cv_gcc_builtin_u
8530: 6e 72 65 61 63 68 61 62 6c 65 5d 29 0a 69 66 20  nreachable]).if 
8540: 74 65 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f 67  test "x${je_cv_g
8550: 63 63 5f 62 75 69 6c 74 69 6e 5f 75 6e 72 65 61  cc_builtin_unrea
8560: 63 68 61 62 6c 65 7d 22 20 3d 20 22 78 79 65 73  chable}" = "xyes
8570: 22 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45  " ; then.  AC_DE
8580: 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 49  FINE([JEMALLOC_I
8590: 4e 54 45 52 4e 41 4c 5f 55 4e 52 45 41 43 48 41  NTERNAL_UNREACHA
85a0: 42 4c 45 5d 2c 20 5b 5f 5f 62 75 69 6c 74 69 6e  BLE], [__builtin
85b0: 5f 75 6e 72 65 61 63 68 61 62 6c 65 5d 29 0a 65  _unreachable]).e
85c0: 6c 73 65 0a 20 20 41 43 5f 44 45 46 49 4e 45 28  lse.  AC_DEFINE(
85d0: 5b 4a 45 4d 41 4c 4c 4f 43 5f 49 4e 54 45 52 4e  [JEMALLOC_INTERN
85e0: 41 4c 5f 55 4e 52 45 41 43 48 41 42 4c 45 5d 2c  AL_UNREACHABLE],
85f0: 20 5b 61 62 6f 72 74 5d 29 0a 66 69 0a 0a 64 6e   [abort]).fi..dn
8600: 6c 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  l ==============
8610: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
8620: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
8630: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
8640: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 64  ==============.d
8650: 6e 6c 20 43 68 65 63 6b 20 66 6f 72 20 20 5f 5f  nl Check for  __
8660: 62 75 69 6c 74 69 6e 5f 66 66 73 6c 28 29 2c 20  builtin_ffsl(), 
8670: 74 68 65 6e 20 66 66 73 6c 28 33 29 2c 20 61 6e  then ffsl(3), an
8680: 64 20 66 61 69 6c 20 69 66 20 6e 65 69 74 68 65  d fail if neithe
8690: 72 20 61 72 65 20 66 6f 75 6e 64 2e 0a 64 6e 6c  r are found..dnl
86a0: 20 4f 6e 65 20 6f 66 20 74 68 6f 73 65 20 74 77   One of those tw
86b0: 6f 20 66 75 6e 63 74 69 6f 6e 73 20 73 68 6f 75  o functions shou
86c0: 6c 64 20 28 74 68 65 6f 72 65 74 69 63 61 6c 6c  ld (theoreticall
86d0: 79 29 20 65 78 69 73 74 20 6f 6e 20 61 6c 6c 20  y) exist on all 
86e0: 70 6c 61 74 66 6f 72 6d 73 0a 64 6e 6c 20 74 68  platforms.dnl th
86f0: 61 74 20 6a 65 6d 61 6c 6c 6f 63 20 63 75 72 72  at jemalloc curr
8700: 65 6e 74 6c 79 20 68 61 73 20 61 20 63 68 61 6e  ently has a chan
8710: 63 65 20 6f 66 20 66 75 6e 63 74 69 6f 6e 69 6e  ce of functionin
8720: 67 20 6f 6e 20 77 69 74 68 6f 75 74 20 6d 6f 64  g on without mod
8730: 69 66 69 63 61 74 69 6f 6e 2e 0a 64 6e 6c 20 57  ification..dnl W
8740: 65 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 61  e additionally a
8750: 73 73 75 6d 65 20 66 66 73 5b 6c 6c 5d 28 29 20  ssume ffs[ll]() 
8760: 6f 72 20 5f 5f 62 75 69 6c 74 69 6e 5f 66 66 73  or __builtin_ffs
8770: 5b 6c 6c 5d 28 29 20 61 72 65 20 64 65 66 69 6e  [ll]() are defin
8780: 65 64 20 69 66 0a 64 6e 6c 20 66 66 73 6c 28 29  ed if.dnl ffsl()
8790: 20 6f 72 20 5f 5f 62 75 69 6c 74 69 6e 5f 66 66   or __builtin_ff
87a0: 73 6c 28 29 20 61 72 65 20 64 65 66 69 6e 65 64  sl() are defined
87b0: 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a  , respectively..
87c0: 4a 45 5f 43 4f 4d 50 49 4c 41 42 4c 45 28 5b 61  JE_COMPILABLE([a
87d0: 20 70 72 6f 67 72 61 6d 20 75 73 69 6e 67 20 5f   program using _
87e0: 5f 62 75 69 6c 74 69 6e 5f 66 66 73 6c 5d 2c 20  _builtin_ffsl], 
87f0: 5b 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69  [.#include <stdi
8800: 6f 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73  o.h>.#include <s
8810: 74 72 69 6e 67 73 2e 68 3e 0a 23 69 6e 63 6c 75  trings.h>.#inclu
8820: 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 0a 5d 2c  de <string.h>.],
8830: 20 5b 0a 09 7b 0a 09 09 69 6e 74 20 72 76 20 3d   [..{...int rv =
8840: 20 5f 5f 62 75 69 6c 74 69 6e 5f 66 66 73 6c 28   __builtin_ffsl(
8850: 30 78 30 38 29 3b 0a 09 09 70 72 69 6e 74 66 28  0x08);...printf(
8860: 22 25 64 5c 6e 22 2c 20 72 76 29 3b 0a 09 7d 0a  "%d\n", rv);..}.
8870: 5d 2c 20 5b 6a 65 5f 63 76 5f 67 63 63 5f 62 75  ], [je_cv_gcc_bu
8880: 69 6c 74 69 6e 5f 66 66 73 6c 5d 29 0a 69 66 20  iltin_ffsl]).if 
8890: 74 65 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f 67  test "x${je_cv_g
88a0: 63 63 5f 62 75 69 6c 74 69 6e 5f 66 66 73 6c 7d  cc_builtin_ffsl}
88b0: 22 20 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65  " = "xyes" ; the
88c0: 6e 0a 20 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a  n.  AC_DEFINE([J
88d0: 45 4d 41 4c 4c 4f 43 5f 49 4e 54 45 52 4e 41 4c  EMALLOC_INTERNAL
88e0: 5f 46 46 53 4c 4c 5d 2c 20 5b 5f 5f 62 75 69 6c  _FFSLL], [__buil
88f0: 74 69 6e 5f 66 66 73 6c 6c 5d 29 0a 20 20 41 43  tin_ffsll]).  AC
8900: 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f  _DEFINE([JEMALLO
8910: 43 5f 49 4e 54 45 52 4e 41 4c 5f 46 46 53 4c 5d  C_INTERNAL_FFSL]
8920: 2c 20 5b 5f 5f 62 75 69 6c 74 69 6e 5f 66 66 73  , [__builtin_ffs
8930: 6c 5d 29 0a 20 20 41 43 5f 44 45 46 49 4e 45 28  l]).  AC_DEFINE(
8940: 5b 4a 45 4d 41 4c 4c 4f 43 5f 49 4e 54 45 52 4e  [JEMALLOC_INTERN
8950: 41 4c 5f 46 46 53 5d 2c 20 5b 5f 5f 62 75 69 6c  AL_FFS], [__buil
8960: 74 69 6e 5f 66 66 73 5d 29 0a 65 6c 73 65 0a 20  tin_ffs]).else. 
8970: 20 4a 45 5f 43 4f 4d 50 49 4c 41 42 4c 45 28 5b   JE_COMPILABLE([
8980: 61 20 70 72 6f 67 72 61 6d 20 75 73 69 6e 67 20  a program using 
8990: 66 66 73 6c 5d 2c 20 5b 0a 20 20 23 69 6e 63 6c  ffsl], [.  #incl
89a0: 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 0a 20 20  ude <stdio.h>.  
89b0: 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67  #include <string
89c0: 73 2e 68 3e 0a 20 20 23 69 6e 63 6c 75 64 65 20  s.h>.  #include 
89d0: 3c 73 74 72 69 6e 67 2e 68 3e 0a 20 20 5d 2c 20  <string.h>.  ], 
89e0: 5b 0a 09 7b 0a 09 09 69 6e 74 20 72 76 20 3d 20  [..{...int rv = 
89f0: 66 66 73 6c 28 30 78 30 38 29 3b 0a 09 09 70 72  ffsl(0x08);...pr
8a00: 69 6e 74 66 28 22 25 64 5c 6e 22 2c 20 72 76 29  intf("%d\n", rv)
8a10: 3b 0a 09 7d 0a 20 20 5d 2c 20 5b 6a 65 5f 63 76  ;..}.  ], [je_cv
8a20: 5f 66 75 6e 63 74 69 6f 6e 5f 66 66 73 6c 5d 29  _function_ffsl])
8a30: 0a 20 20 69 66 20 74 65 73 74 20 22 78 24 7b 6a  .  if test "x${j
8a40: 65 5f 63 76 5f 66 75 6e 63 74 69 6f 6e 5f 66 66  e_cv_function_ff
8a50: 73 6c 7d 22 20 3d 20 22 78 79 65 73 22 20 3b 20  sl}" = "xyes" ; 
8a60: 74 68 65 6e 0a 20 20 20 20 41 43 5f 44 45 46 49  then.    AC_DEFI
8a70: 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 49 4e 54  NE([JEMALLOC_INT
8a80: 45 52 4e 41 4c 5f 46 46 53 4c 4c 5d 2c 20 5b 66  ERNAL_FFSLL], [f
8a90: 66 73 6c 6c 5d 29 0a 20 20 20 20 41 43 5f 44 45  fsll]).    AC_DE
8aa0: 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 49  FINE([JEMALLOC_I
8ab0: 4e 54 45 52 4e 41 4c 5f 46 46 53 4c 5d 2c 20 5b  NTERNAL_FFSL], [
8ac0: 66 66 73 6c 5d 29 0a 20 20 20 20 41 43 5f 44 45  ffsl]).    AC_DE
8ad0: 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 49  FINE([JEMALLOC_I
8ae0: 4e 54 45 52 4e 41 4c 5f 46 46 53 5d 2c 20 5b 66  NTERNAL_FFS], [f
8af0: 66 73 5d 29 0a 20 20 65 6c 73 65 0a 20 20 20 20  fs]).  else.    
8b00: 41 43 5f 4d 53 47 5f 45 52 52 4f 52 28 5b 43 61  AC_MSG_ERROR([Ca
8b10: 6e 6e 6f 74 20 62 75 69 6c 64 20 77 69 74 68 6f  nnot build witho
8b20: 75 74 20 66 66 73 6c 28 33 29 20 6f 72 20 5f 5f  ut ffsl(3) or __
8b30: 62 75 69 6c 74 69 6e 5f 66 66 73 6c 28 29 5d 29  builtin_ffsl()])
8b40: 0a 20 20 66 69 0a 66 69 0a 0a 41 43 5f 41 52 47  .  fi.fi..AC_ARG
8b50: 5f 57 49 54 48 28 5b 6c 67 5f 74 69 6e 79 5f 6d  _WITH([lg_tiny_m
8b60: 69 6e 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c 50 5f  in],.  [AS_HELP_
8b70: 53 54 52 49 4e 47 28 5b 2d 2d 77 69 74 68 2d 6c  STRING([--with-l
8b80: 67 2d 74 69 6e 79 2d 6d 69 6e 3d 3c 6c 67 2d 74  g-tiny-min=<lg-t
8b90: 69 6e 79 2d 6d 69 6e 3e 5d 2c 0a 20 20 20 5b 42  iny-min>],.   [B
8ba0: 61 73 65 20 32 20 6c 6f 67 20 6f 66 20 6d 69 6e  ase 2 log of min
8bb0: 69 6d 75 6d 20 74 69 6e 79 20 73 69 7a 65 20 63  imum tiny size c
8bc0: 6c 61 73 73 20 74 6f 20 73 75 70 70 6f 72 74 5d  lass to support]
8bd0: 29 5d 2c 0a 20 20 5b 4c 47 5f 54 49 4e 59 5f 4d  )],.  [LG_TINY_M
8be0: 49 4e 3d 22 24 77 69 74 68 5f 6c 67 5f 74 69 6e  IN="$with_lg_tin
8bf0: 79 5f 6d 69 6e 22 5d 2c 0a 20 20 5b 4c 47 5f 54  y_min"],.  [LG_T
8c00: 49 4e 59 5f 4d 49 4e 3d 22 33 22 5d 29 0a 41 43  INY_MIN="3"]).AC
8c10: 5f 44 45 46 49 4e 45 5f 55 4e 51 55 4f 54 45 44  _DEFINE_UNQUOTED
8c20: 28 5b 4c 47 5f 54 49 4e 59 5f 4d 49 4e 5d 2c 20  ([LG_TINY_MIN], 
8c30: 5b 24 4c 47 5f 54 49 4e 59 5f 4d 49 4e 5d 29 0a  [$LG_TINY_MIN]).
8c40: 0a 41 43 5f 41 52 47 5f 57 49 54 48 28 5b 6c 67  .AC_ARG_WITH([lg
8c50: 5f 71 75 61 6e 74 75 6d 5d 2c 0a 20 20 5b 41 53  _quantum],.  [AS
8c60: 5f 48 45 4c 50 5f 53 54 52 49 4e 47 28 5b 2d 2d  _HELP_STRING([--
8c70: 77 69 74 68 2d 6c 67 2d 71 75 61 6e 74 75 6d 3d  with-lg-quantum=
8c80: 3c 6c 67 2d 71 75 61 6e 74 75 6d 3e 5d 2c 0a 20  <lg-quantum>],. 
8c90: 20 20 5b 42 61 73 65 20 32 20 6c 6f 67 20 6f 66    [Base 2 log of
8ca0: 20 6d 69 6e 69 6d 75 6d 20 61 6c 6c 6f 63 61 74   minimum allocat
8cb0: 69 6f 6e 20 61 6c 69 67 6e 6d 65 6e 74 5d 29 5d  ion alignment])]
8cc0: 2c 0a 20 20 5b 4c 47 5f 51 55 41 4e 54 41 3d 22  ,.  [LG_QUANTA="
8cd0: 24 77 69 74 68 5f 6c 67 5f 71 75 61 6e 74 75 6d  $with_lg_quantum
8ce0: 22 5d 2c 0a 20 20 5b 4c 47 5f 51 55 41 4e 54 41  "],.  [LG_QUANTA
8cf0: 3d 22 33 20 34 22 5d 29 0a 69 66 20 74 65 73 74  ="3 4"]).if test
8d00: 20 22 78 24 77 69 74 68 5f 6c 67 5f 71 75 61 6e   "x$with_lg_quan
8d10: 74 75 6d 22 20 21 3d 20 22 78 22 20 3b 20 74 68  tum" != "x" ; th
8d20: 65 6e 0a 20 20 41 43 5f 44 45 46 49 4e 45 5f 55  en.  AC_DEFINE_U
8d30: 4e 51 55 4f 54 45 44 28 5b 4c 47 5f 51 55 41 4e  NQUOTED([LG_QUAN
8d40: 54 55 4d 5d 2c 20 5b 24 77 69 74 68 5f 6c 67 5f  TUM], [$with_lg_
8d50: 71 75 61 6e 74 75 6d 5d 29 0a 66 69 0a 0a 41 43  quantum]).fi..AC
8d60: 5f 41 52 47 5f 57 49 54 48 28 5b 6c 67 5f 70 61  _ARG_WITH([lg_pa
8d70: 67 65 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c 50 5f  ge],.  [AS_HELP_
8d80: 53 54 52 49 4e 47 28 5b 2d 2d 77 69 74 68 2d 6c  STRING([--with-l
8d90: 67 2d 70 61 67 65 3d 3c 6c 67 2d 70 61 67 65 3e  g-page=<lg-page>
8da0: 5d 2c 20 5b 42 61 73 65 20 32 20 6c 6f 67 20 6f  ], [Base 2 log o
8db0: 66 20 73 79 73 74 65 6d 20 70 61 67 65 20 73 69  f system page si
8dc0: 7a 65 5d 29 5d 2c 0a 20 20 5b 4c 47 5f 50 41 47  ze])],.  [LG_PAG
8dd0: 45 3d 22 24 77 69 74 68 5f 6c 67 5f 70 61 67 65  E="$with_lg_page
8de0: 22 5d 2c 20 5b 4c 47 5f 50 41 47 45 3d 22 64 65  "], [LG_PAGE="de
8df0: 74 65 63 74 22 5d 29 0a 69 66 20 74 65 73 74 20  tect"]).if test 
8e00: 22 78 24 4c 47 5f 50 41 47 45 22 20 3d 20 22 78  "x$LG_PAGE" = "x
8e10: 64 65 74 65 63 74 22 3b 20 74 68 65 6e 0a 20 20  detect"; then.  
8e20: 41 43 5f 43 41 43 48 45 5f 43 48 45 43 4b 28 5b  AC_CACHE_CHECK([
8e30: 4c 47 5f 50 41 47 45 5d 2c 0a 20 20 20 20 20 20  LG_PAGE],.      
8e40: 20 20 20 20 20 20 20 20 20 5b 6a 65 5f 63 76 5f           [je_cv_
8e50: 6c 67 5f 70 61 67 65 5d 2c 0a 20 20 20 20 20 20  lg_page],.      
8e60: 20 20 20 20 20 20 20 20 20 41 43 5f 52 55 4e 5f           AC_RUN_
8e70: 49 46 45 4c 53 45 28 5b 41 43 5f 4c 41 4e 47 5f  IFELSE([AC_LANG_
8e80: 50 52 4f 47 52 41 4d 28 0a 5b 5b 0a 23 69 6e 63  PROGRAM(.[[.#inc
8e90: 6c 75 64 65 20 3c 73 74 72 69 6e 67 73 2e 68 3e  lude <strings.h>
8ea0: 0a 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0a 23  .#ifdef _WIN32.#
8eb0: 69 6e 63 6c 75 64 65 20 3c 77 69 6e 64 6f 77 73  include <windows
8ec0: 2e 68 3e 0a 23 65 6c 73 65 0a 23 69 6e 63 6c 75  .h>.#else.#inclu
8ed0: 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 23 65  de <unistd.h>.#e
8ee0: 6e 64 69 66 0a 23 69 6e 63 6c 75 64 65 20 3c 73  ndif.#include <s
8ef0: 74 64 69 6f 2e 68 3e 0a 5d 5d 2c 0a 5b 5b 0a 20  tdio.h>.]],.[[. 
8f00: 20 20 20 69 6e 74 20 72 65 73 75 6c 74 3b 0a 20     int result;. 
8f10: 20 20 20 46 49 4c 45 20 2a 66 3b 0a 0a 23 69 66     FILE *f;..#if
8f20: 64 65 66 20 5f 57 49 4e 33 32 0a 20 20 20 20 53  def _WIN32.    S
8f30: 59 53 54 45 4d 5f 49 4e 46 4f 20 73 69 3b 0a 20  YSTEM_INFO si;. 
8f40: 20 20 20 47 65 74 53 79 73 74 65 6d 49 6e 66 6f     GetSystemInfo
8f50: 28 26 73 69 29 3b 0a 20 20 20 20 72 65 73 75 6c  (&si);.    resul
8f60: 74 20 3d 20 73 69 2e 64 77 50 61 67 65 53 69 7a  t = si.dwPageSiz
8f70: 65 3b 0a 23 65 6c 73 65 0a 20 20 20 20 72 65 73  e;.#else.    res
8f80: 75 6c 74 20 3d 20 73 79 73 63 6f 6e 66 28 5f 53  ult = sysconf(_S
8f90: 43 5f 50 41 47 45 53 49 5a 45 29 3b 0a 23 65 6e  C_PAGESIZE);.#en
8fa0: 64 69 66 0a 20 20 20 20 69 66 20 28 72 65 73 75  dif.    if (resu
8fb0: 6c 74 20 3d 3d 20 2d 31 29 20 7b 0a 09 72 65 74  lt == -1) {..ret
8fc0: 75 72 6e 20 31 3b 0a 20 20 20 20 7d 0a 20 20 20  urn 1;.    }.   
8fd0: 20 72 65 73 75 6c 74 20 3d 20 4a 45 4d 41 4c 4c   result = JEMALL
8fe0: 4f 43 5f 49 4e 54 45 52 4e 41 4c 5f 46 46 53 4c  OC_INTERNAL_FFSL
8ff0: 28 72 65 73 75 6c 74 29 20 2d 20 31 3b 0a 0a 20  (result) - 1;.. 
9000: 20 20 20 66 20 3d 20 66 6f 70 65 6e 28 22 63 6f     f = fopen("co
9010: 6e 66 74 65 73 74 2e 6f 75 74 22 2c 20 22 77 22  nftest.out", "w"
9020: 29 3b 0a 20 20 20 20 69 66 20 28 66 20 3d 3d 20  );.    if (f == 
9030: 4e 55 4c 4c 29 20 7b 0a 09 72 65 74 75 72 6e 20  NULL) {..return 
9040: 31 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 70 72  1;.    }.    fpr
9050: 69 6e 74 66 28 66 2c 20 22 25 64 22 2c 20 72 65  intf(f, "%d", re
9060: 73 75 6c 74 29 3b 0a 20 20 20 20 66 63 6c 6f 73  sult);.    fclos
9070: 65 28 66 29 3b 0a 0a 20 20 20 20 72 65 74 75 72  e(f);..    retur
9080: 6e 20 30 3b 0a 5d 5d 29 5d 2c 0a 20 20 20 20 20  n 0;.]])],.     
9090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
90a0: 20 20 20 20 20 20 20 20 5b 6a 65 5f 63 76 5f 6c          [je_cv_l
90b0: 67 5f 70 61 67 65 3d 60 63 61 74 20 63 6f 6e 66  g_page=`cat conf
90c0: 74 65 73 74 2e 6f 75 74 60 5d 2c 0a 20 20 20 20  test.out`],.    
90d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
90e0: 20 20 20 20 20 20 20 20 20 5b 6a 65 5f 63 76 5f           [je_cv_
90f0: 6c 67 5f 70 61 67 65 3d 75 6e 64 65 66 69 6e 65  lg_page=undefine
9100: 64 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  d],.            
9110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9120: 20 5b 6a 65 5f 63 76 5f 6c 67 5f 70 61 67 65 3d   [je_cv_lg_page=
9130: 31 32 5d 29 29 0a 66 69 0a 69 66 20 74 65 73 74  12])).fi.if test
9140: 20 22 78 24 7b 6a 65 5f 63 76 5f 6c 67 5f 70 61   "x${je_cv_lg_pa
9150: 67 65 7d 22 20 21 3d 20 22 78 22 20 3b 20 74 68  ge}" != "x" ; th
9160: 65 6e 0a 20 20 4c 47 5f 50 41 47 45 3d 22 24 7b  en.  LG_PAGE="${
9170: 6a 65 5f 63 76 5f 6c 67 5f 70 61 67 65 7d 22 0a  je_cv_lg_page}".
9180: 66 69 0a 69 66 20 74 65 73 74 20 22 78 24 7b 4c  fi.if test "x${L
9190: 47 5f 50 41 47 45 7d 22 20 21 3d 20 22 78 75 6e  G_PAGE}" != "xun
91a0: 64 65 66 69 6e 65 64 22 20 3b 20 74 68 65 6e 0a  defined" ; then.
91b0: 20 20 20 41 43 5f 44 45 46 49 4e 45 5f 55 4e 51     AC_DEFINE_UNQ
91c0: 55 4f 54 45 44 28 5b 4c 47 5f 50 41 47 45 5d 2c  UOTED([LG_PAGE],
91d0: 20 5b 24 4c 47 5f 50 41 47 45 5d 29 0a 65 6c 73   [$LG_PAGE]).els
91e0: 65 0a 20 20 20 41 43 5f 4d 53 47 5f 45 52 52 4f  e.   AC_MSG_ERRO
91f0: 52 28 5b 63 61 6e 6e 6f 74 20 64 65 74 65 72 6d  R([cannot determ
9200: 69 6e 65 20 76 61 6c 75 65 20 66 6f 72 20 4c 47  ine value for LG
9210: 5f 50 41 47 45 5d 29 0a 66 69 0a 0a 41 43 5f 41  _PAGE]).fi..AC_A
9220: 52 47 5f 57 49 54 48 28 5b 6c 67 5f 70 61 67 65  RG_WITH([lg_page
9230: 5f 73 69 7a 65 73 5d 2c 0a 20 20 5b 41 53 5f 48  _sizes],.  [AS_H
9240: 45 4c 50 5f 53 54 52 49 4e 47 28 5b 2d 2d 77 69  ELP_STRING([--wi
9250: 74 68 2d 6c 67 2d 70 61 67 65 2d 73 69 7a 65 73  th-lg-page-sizes
9260: 3d 3c 6c 67 2d 70 61 67 65 2d 73 69 7a 65 73 3e  =<lg-page-sizes>
9270: 5d 2c 0a 20 20 20 5b 42 61 73 65 20 32 20 6c 6f  ],.   [Base 2 lo
9280: 67 73 20 6f 66 20 73 79 73 74 65 6d 20 70 61 67  gs of system pag
9290: 65 20 73 69 7a 65 73 20 74 6f 20 73 75 70 70 6f  e sizes to suppo
92a0: 72 74 5d 29 5d 2c 0a 20 20 5b 4c 47 5f 50 41 47  rt])],.  [LG_PAG
92b0: 45 5f 53 49 5a 45 53 3d 22 24 77 69 74 68 5f 6c  E_SIZES="$with_l
92c0: 67 5f 70 61 67 65 5f 73 69 7a 65 73 22 5d 2c 20  g_page_sizes"], 
92d0: 5b 4c 47 5f 50 41 47 45 5f 53 49 5a 45 53 3d 22  [LG_PAGE_SIZES="
92e0: 24 4c 47 5f 50 41 47 45 22 5d 29 0a 0a 41 43 5f  $LG_PAGE"])..AC_
92f0: 41 52 47 5f 57 49 54 48 28 5b 6c 67 5f 73 69 7a  ARG_WITH([lg_siz
9300: 65 5f 63 6c 61 73 73 5f 67 72 6f 75 70 5d 2c 0a  e_class_group],.
9310: 20 20 5b 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e    [AS_HELP_STRIN
9320: 47 28 5b 2d 2d 77 69 74 68 2d 6c 67 2d 73 69 7a  G([--with-lg-siz
9330: 65 2d 63 6c 61 73 73 2d 67 72 6f 75 70 3d 3c 6c  e-class-group=<l
9340: 67 2d 73 69 7a 65 2d 63 6c 61 73 73 2d 67 72 6f  g-size-class-gro
9350: 75 70 3e 5d 2c 0a 20 20 20 5b 42 61 73 65 20 32  up>],.   [Base 2
9360: 20 6c 6f 67 20 6f 66 20 73 69 7a 65 20 63 6c 61   log of size cla
9370: 73 73 65 73 20 70 65 72 20 64 6f 75 62 6c 69 6e  sses per doublin
9380: 67 5d 29 5d 2c 0a 20 20 5b 4c 47 5f 53 49 5a 45  g])],.  [LG_SIZE
9390: 5f 43 4c 41 53 53 5f 47 52 4f 55 50 3d 22 24 77  _CLASS_GROUP="$w
93a0: 69 74 68 5f 6c 67 5f 73 69 7a 65 5f 63 6c 61 73  ith_lg_size_clas
93b0: 73 5f 67 72 6f 75 70 22 5d 2c 0a 20 20 5b 4c 47  s_group"],.  [LG
93c0: 5f 53 49 5a 45 5f 43 4c 41 53 53 5f 47 52 4f 55  _SIZE_CLASS_GROU
93d0: 50 3d 22 32 22 5d 29 0a 0a 64 6e 6c 20 3d 3d 3d  P="2"])..dnl ===
93e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
93f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
9400: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
9410: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
9420: 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 64 6e 6c 20 6a 65  =========.dnl je
9430: 6d 61 6c 6c 6f 63 20 63 6f 6e 66 69 67 75 72 61  malloc configura
9440: 74 69 6f 6e 2e 0a 64 6e 6c 20 0a 0a 41 43 5f 41  tion..dnl ..AC_A
9450: 52 47 5f 57 49 54 48 28 5b 76 65 72 73 69 6f 6e  RG_WITH([version
9460: 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c 50 5f 53 54  ],.  [AS_HELP_ST
9470: 52 49 4e 47 28 5b 2d 2d 77 69 74 68 2d 76 65 72  RING([--with-ver
9480: 73 69 6f 6e 3d 3c 6d 61 6a 6f 72 3e 2e 3c 6d 69  sion=<major>.<mi
9490: 6e 6f 72 3e 2e 3c 62 75 67 66 69 78 3e 2d 3c 6e  nor>.<bugfix>-<n
94a0: 72 65 76 3e 2d 67 3c 67 69 64 3e 5d 2c 0a 20 20  rev>-g<gid>],.  
94b0: 20 5b 56 65 72 73 69 6f 6e 20 73 74 72 69 6e 67   [Version string
94c0: 5d 29 5d 2c 0a 20 20 5b 0a 20 20 20 20 65 63 68  ])],.  [.    ech
94d0: 6f 20 22 24 7b 77 69 74 68 5f 76 65 72 73 69 6f  o "${with_versio
94e0: 6e 7d 22 20 7c 20 67 72 65 70 20 5b 27 5e 5b 30  n}" | grep ['^[0
94f0: 2d 39 5d 5c 2b 5c 2e 5b 30 2d 39 5d 5c 2b 5c 2e  -9]\+\.[0-9]\+\.
9500: 5b 30 2d 39 5d 5c 2b 2d 5b 30 2d 39 5d 5c 2b 2d  [0-9]\+-[0-9]\+-
9510: 67 5b 30 2d 39 61 2d 66 5d 5c 2b 24 27 5d 20 32  g[0-9a-f]\+$'] 2
9520: 3e 26 31 20 31 3e 2f 64 65 76 2f 6e 75 6c 6c 0a  >&1 1>/dev/null.
9530: 20 20 20 20 69 66 20 74 65 73 74 20 24 3f 20 2d      if test $? -
9540: 6e 65 20 30 20 3b 20 74 68 65 6e 0a 20 20 20 20  ne 0 ; then.    
9550: 20 20 41 43 5f 4d 53 47 5f 45 52 52 4f 52 28 5b    AC_MSG_ERROR([
9560: 24 7b 77 69 74 68 5f 76 65 72 73 69 6f 6e 7d 20  ${with_version} 
9570: 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 3c  does not match <
9580: 6d 61 6a 6f 72 3e 2e 3c 6d 69 6e 6f 72 3e 2e 3c  major>.<minor>.<
9590: 62 75 67 66 69 78 3e 2d 3c 6e 72 65 76 3e 2d 67  bugfix>-<nrev>-g
95a0: 3c 67 69 64 3e 5d 29 0a 20 20 20 20 66 69 0a 20  <gid>]).    fi. 
95b0: 20 20 20 65 63 68 6f 20 22 24 77 69 74 68 5f 76     echo "$with_v
95c0: 65 72 73 69 6f 6e 22 20 3e 20 22 24 7b 6f 62 6a  ersion" > "${obj
95d0: 72 6f 6f 74 7d 56 45 52 53 49 4f 4e 22 0a 20 20  root}VERSION".  
95e0: 5d 2c 20 5b 0a 20 20 20 20 64 6e 6c 20 53 65 74  ], [.    dnl Set
95f0: 20 56 45 52 53 49 4f 4e 20 69 66 20 73 6f 75 72   VERSION if sour
9600: 63 65 20 64 69 72 65 63 74 6f 72 79 20 69 73 20  ce directory is 
9610: 69 6e 73 69 64 65 20 61 20 67 69 74 20 72 65 70  inside a git rep
9620: 6f 73 69 74 6f 72 79 2e 0a 20 20 20 20 69 66 20  ository..    if 
9630: 74 65 73 74 20 22 78 60 74 65 73 74 20 21 20 5c  test "x`test ! \
9640: 22 24 7b 73 72 63 72 6f 6f 74 7d 5c 22 20 26 26  "${srcroot}\" &&
9650: 20 63 64 20 5c 22 24 7b 73 72 63 72 6f 6f 74 7d   cd \"${srcroot}
9660: 5c 22 3b 20 67 69 74 20 72 65 76 2d 70 61 72 73  \"; git rev-pars
9670: 65 20 2d 2d 69 73 2d 69 6e 73 69 64 65 2d 77 6f  e --is-inside-wo
9680: 72 6b 2d 74 72 65 65 20 32 3e 2f 64 65 76 2f 6e  rk-tree 2>/dev/n
9690: 75 6c 6c 60 22 20 3d 20 22 78 74 72 75 65 22 20  ull`" = "xtrue" 
96a0: 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 64 6e 6c  ; then.      dnl
96b0: 20 50 61 74 74 65 72 6e 20 67 6c 6f 62 73 20 61   Pattern globs a
96c0: 72 65 6e 27 74 20 70 6f 77 65 72 66 75 6c 20 65  ren't powerful e
96d0: 6e 6f 75 67 68 20 74 6f 20 6d 61 74 63 68 20 62  nough to match b
96e0: 6f 74 68 20 73 69 6e 67 6c 65 2d 20 61 6e 64 0a  oth single- and.
96f0: 20 20 20 20 20 20 64 6e 6c 20 64 6f 75 62 6c 65        dnl double
9700: 2d 64 69 67 69 74 20 76 65 72 73 69 6f 6e 20 6e  -digit version n
9710: 75 6d 62 65 72 73 2c 20 73 6f 20 69 74 65 72 61  umbers, so itera
9720: 74 65 20 6f 76 65 72 20 70 61 74 74 65 72 6e 73  te over patterns
9730: 20 74 6f 20 73 75 70 70 6f 72 74 20 75 70 0a 20   to support up. 
9740: 20 20 20 20 20 64 6e 6c 20 74 6f 20 76 65 72 73       dnl to vers
9750: 69 6f 6e 20 39 39 2e 39 39 2e 39 39 20 77 69 74  ion 99.99.99 wit
9760: 68 6f 75 74 20 61 6e 79 20 61 63 63 69 64 65 6e  hout any acciden
9770: 74 61 6c 20 6d 61 74 63 68 65 73 2e 0a 20 20 20  tal matches..   
9780: 20 20 20 66 6f 72 20 70 61 74 74 65 72 6e 20 69     for pattern i
9790: 6e 20 5b 27 5b 30 2d 39 5d 2e 5b 30 2d 39 5d 2e  n ['[0-9].[0-9].
97a0: 5b 30 2d 39 5d 27 20 27 5b 30 2d 39 5d 2e 5b 30  [0-9]' '[0-9].[0
97b0: 2d 39 5d 2e 5b 30 2d 39 5d 5b 30 2d 39 5d 27 20  -9].[0-9][0-9]' 
97c0: 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  \.              
97d0: 20 20 20 20 20 20 20 27 5b 30 2d 39 5d 2e 5b 30         '[0-9].[0
97e0: 2d 39 5d 5b 30 2d 39 5d 2e 5b 30 2d 39 5d 27 20  -9][0-9].[0-9]' 
97f0: 27 5b 30 2d 39 5d 2e 5b 30 2d 39 5d 5b 30 2d 39  '[0-9].[0-9][0-9
9800: 5d 2e 5b 30 2d 39 5d 5b 30 2d 39 5d 27 20 5c 0a  ].[0-9][0-9]' \.
9810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9820: 20 20 20 20 20 27 5b 30 2d 39 5d 5b 30 2d 39 5d       '[0-9][0-9]
9830: 2e 5b 30 2d 39 5d 2e 5b 30 2d 39 5d 27 20 27 5b  .[0-9].[0-9]' '[
9840: 30 2d 39 5d 5b 30 2d 39 5d 2e 5b 30 2d 39 5d 2e  0-9][0-9].[0-9].
9850: 5b 30 2d 39 5d 5b 30 2d 39 5d 27 20 5c 0a 20 20  [0-9][0-9]' \.  
9860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9870: 20 20 20 27 5b 30 2d 39 5d 5b 30 2d 39 5d 2e 5b     '[0-9][0-9].[
9880: 30 2d 39 5d 5b 30 2d 39 5d 2e 5b 30 2d 39 5d 27  0-9][0-9].[0-9]'
9890: 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   \.             
98a0: 20 20 20 20 20 20 20 20 27 5b 30 2d 39 5d 5b 30          '[0-9][0
98b0: 2d 39 5d 2e 5b 30 2d 39 5d 5b 30 2d 39 5d 2e 5b  -9].[0-9][0-9].[
98c0: 30 2d 39 5d 5b 30 2d 39 5d 27 5d 3b 20 64 6f 0a  0-9][0-9]']; do.
98d0: 20 20 20 20 20 20 20 20 28 74 65 73 74 20 21 20          (test ! 
98e0: 22 24 7b 73 72 63 72 6f 6f 74 7d 22 20 26 26 20  "${srcroot}" && 
98f0: 63 64 20 22 24 7b 73 72 63 72 6f 6f 74 7d 22 3b  cd "${srcroot}";
9900: 20 67 69 74 20 64 65 73 63 72 69 62 65 20 2d 2d   git describe --
9910: 6c 6f 6e 67 20 2d 2d 61 62 62 72 65 76 3d 34 30  long --abbrev=40
9920: 20 2d 2d 6d 61 74 63 68 3d 22 24 7b 70 61 74 74   --match="${patt
9930: 65 72 6e 7d 22 29 20 3e 20 22 24 7b 6f 62 6a 72  ern}") > "${objr
9940: 6f 6f 74 7d 56 45 52 53 49 4f 4e 2e 74 6d 70 22  oot}VERSION.tmp"
9950: 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 0a 20 20 20   2>/dev/null.   
9960: 20 20 20 20 20 69 66 20 74 65 73 74 20 24 3f 20       if test $? 
9970: 2d 65 71 20 30 20 3b 20 74 68 65 6e 0a 20 20 20  -eq 0 ; then.   
9980: 20 20 20 20 20 20 20 6d 76 20 22 24 7b 6f 62 6a         mv "${obj
9990: 72 6f 6f 74 7d 56 45 52 53 49 4f 4e 2e 74 6d 70  root}VERSION.tmp
99a0: 22 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 56 45 52  " "${objroot}VER
99b0: 53 49 4f 4e 22 0a 20 20 20 20 20 20 20 20 20 20  SION".          
99c0: 62 72 65 61 6b 0a 20 20 20 20 20 20 20 20 66 69  break.        fi
99d0: 0a 20 20 20 20 20 20 64 6f 6e 65 0a 20 20 20 20  .      done.    
99e0: 66 69 0a 20 20 20 20 72 6d 20 2d 66 20 22 24 7b  fi.    rm -f "${
99f0: 6f 62 6a 72 6f 6f 74 7d 56 45 52 53 49 4f 4e 2e  objroot}VERSION.
9a00: 74 6d 70 22 0a 20 20 5d 29 0a 0a 69 66 20 74 65  tmp".  ])..if te
9a10: 73 74 20 21 20 2d 65 20 22 24 7b 6f 62 6a 72 6f  st ! -e "${objro
9a20: 6f 74 7d 56 45 52 53 49 4f 4e 22 20 3b 20 74 68  ot}VERSION" ; th
9a30: 65 6e 0a 20 20 69 66 20 74 65 73 74 20 21 20 2d  en.  if test ! -
9a40: 65 20 22 24 7b 73 72 63 72 6f 6f 74 7d 56 45 52  e "${srcroot}VER
9a50: 53 49 4f 4e 22 20 3b 20 74 68 65 6e 0a 20 20 20  SION" ; then.   
9a60: 20 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 0a   AC_MSG_RESULT(.
9a70: 20 20 20 20 20 20 5b 4d 69 73 73 69 6e 67 20 56        [Missing V
9a80: 45 52 53 49 4f 4e 20 66 69 6c 65 2c 20 61 6e 64  ERSION file, and
9a90: 20 75 6e 61 62 6c 65 20 74 6f 20 67 65 6e 65 72   unable to gener
9aa0: 61 74 65 20 69 74 3b 20 63 72 65 61 74 69 6e 67  ate it; creating
9ab0: 20 62 6f 67 75 73 20 56 45 52 53 49 4f 4e 5d 29   bogus VERSION])
9ac0: 0a 20 20 20 20 65 63 68 6f 20 22 30 2e 30 2e 30  .    echo "0.0.0
9ad0: 2d 30 2d 67 30 30 30 30 30 30 30 30 30 30 30 30  -0-g000000000000
9ae0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
9af0: 30 30 30 30 30 30 30 30 30 30 30 30 22 20 3e 20  000000000000" > 
9b00: 22 24 7b 6f 62 6a 72 6f 6f 74 7d 56 45 52 53 49  "${objroot}VERSI
9b10: 4f 4e 22 0a 20 20 65 6c 73 65 0a 20 20 20 20 63  ON".  else.    c
9b20: 70 20 24 7b 73 72 63 72 6f 6f 74 7d 56 45 52 53  p ${srcroot}VERS
9b30: 49 4f 4e 20 24 7b 6f 62 6a 72 6f 6f 74 7d 56 45  ION ${objroot}VE
9b40: 52 53 49 4f 4e 0a 20 20 66 69 0a 66 69 0a 6a 65  RSION.  fi.fi.je
9b50: 6d 61 6c 6c 6f 63 5f 76 65 72 73 69 6f 6e 3d 60  malloc_version=`
9b60: 63 61 74 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 56  cat "${objroot}V
9b70: 45 52 53 49 4f 4e 22 60 0a 6a 65 6d 61 6c 6c 6f  ERSION"`.jemallo
9b80: 63 5f 76 65 72 73 69 6f 6e 5f 6d 61 6a 6f 72 3d  c_version_major=
9b90: 60 65 63 68 6f 20 24 7b 6a 65 6d 61 6c 6c 6f 63  `echo ${jemalloc
9ba0: 5f 76 65 72 73 69 6f 6e 7d 20 7c 20 74 72 20 22  _version} | tr "
9bb0: 2e 67 2d 22 20 22 20 22 20 7c 20 61 77 6b 20 27  .g-" " " | awk '
9bc0: 7b 70 72 69 6e 74 20 5b 24 5d 31 7d 27 60 0a 6a  {print [$]1}'`.j
9bd0: 65 6d 61 6c 6c 6f 63 5f 76 65 72 73 69 6f 6e 5f  emalloc_version_
9be0: 6d 69 6e 6f 72 3d 60 65 63 68 6f 20 24 7b 6a 65  minor=`echo ${je
9bf0: 6d 61 6c 6c 6f 63 5f 76 65 72 73 69 6f 6e 7d 20  malloc_version} 
9c00: 7c 20 74 72 20 22 2e 67 2d 22 20 22 20 22 20 7c  | tr ".g-" " " |
9c10: 20 61 77 6b 20 27 7b 70 72 69 6e 74 20 5b 24 5d   awk '{print [$]
9c20: 32 7d 27 60 0a 6a 65 6d 61 6c 6c 6f 63 5f 76 65  2}'`.jemalloc_ve
9c30: 72 73 69 6f 6e 5f 62 75 67 66 69 78 3d 60 65 63  rsion_bugfix=`ec
9c40: 68 6f 20 24 7b 6a 65 6d 61 6c 6c 6f 63 5f 76 65  ho ${jemalloc_ve
9c50: 72 73 69 6f 6e 7d 20 7c 20 74 72 20 22 2e 67 2d  rsion} | tr ".g-
9c60: 22 20 22 20 22 20 7c 20 61 77 6b 20 27 7b 70 72  " " " | awk '{pr
9c70: 69 6e 74 20 5b 24 5d 33 7d 27 60 0a 6a 65 6d 61  int [$]3}'`.jema
9c80: 6c 6c 6f 63 5f 76 65 72 73 69 6f 6e 5f 6e 72 65  lloc_version_nre
9c90: 76 3d 60 65 63 68 6f 20 24 7b 6a 65 6d 61 6c 6c  v=`echo ${jemall
9ca0: 6f 63 5f 76 65 72 73 69 6f 6e 7d 20 7c 20 74 72  oc_version} | tr
9cb0: 20 22 2e 67 2d 22 20 22 20 22 20 7c 20 61 77 6b   ".g-" " " | awk
9cc0: 20 27 7b 70 72 69 6e 74 20 5b 24 5d 34 7d 27 60   '{print [$]4}'`
9cd0: 0a 6a 65 6d 61 6c 6c 6f 63 5f 76 65 72 73 69 6f  .jemalloc_versio
9ce0: 6e 5f 67 69 64 3d 60 65 63 68 6f 20 24 7b 6a 65  n_gid=`echo ${je
9cf0: 6d 61 6c 6c 6f 63 5f 76 65 72 73 69 6f 6e 7d 20  malloc_version} 
9d00: 7c 20 74 72 20 22 2e 67 2d 22 20 22 20 22 20 7c  | tr ".g-" " " |
9d10: 20 61 77 6b 20 27 7b 70 72 69 6e 74 20 5b 24 5d   awk '{print [$]
9d20: 35 7d 27 60 0a 41 43 5f 53 55 42 53 54 28 5b 6a  5}'`.AC_SUBST([j
9d30: 65 6d 61 6c 6c 6f 63 5f 76 65 72 73 69 6f 6e 5d  emalloc_version]
9d40: 29 0a 41 43 5f 53 55 42 53 54 28 5b 6a 65 6d 61  ).AC_SUBST([jema
9d50: 6c 6c 6f 63 5f 76 65 72 73 69 6f 6e 5f 6d 61 6a  lloc_version_maj
9d60: 6f 72 5d 29 0a 41 43 5f 53 55 42 53 54 28 5b 6a  or]).AC_SUBST([j
9d70: 65 6d 61 6c 6c 6f 63 5f 76 65 72 73 69 6f 6e 5f  emalloc_version_
9d80: 6d 69 6e 6f 72 5d 29 0a 41 43 5f 53 55 42 53 54  minor]).AC_SUBST
9d90: 28 5b 6a 65 6d 61 6c 6c 6f 63 5f 76 65 72 73 69  ([jemalloc_versi
9da0: 6f 6e 5f 62 75 67 66 69 78 5d 29 0a 41 43 5f 53  on_bugfix]).AC_S
9db0: 55 42 53 54 28 5b 6a 65 6d 61 6c 6c 6f 63 5f 76  UBST([jemalloc_v
9dc0: 65 72 73 69 6f 6e 5f 6e 72 65 76 5d 29 0a 41 43  ersion_nrev]).AC
9dd0: 5f 53 55 42 53 54 28 5b 6a 65 6d 61 6c 6c 6f 63  _SUBST([jemalloc
9de0: 5f 76 65 72 73 69 6f 6e 5f 67 69 64 5d 29 0a 0a  _version_gid])..
9df0: 64 6e 6c 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  dnl ============
9e00: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
9e10: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
9e20: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
9e30: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
9e40: 0a 64 6e 6c 20 43 6f 6e 66 69 67 75 72 65 20 70  .dnl Configure p
9e50: 74 68 72 65 61 64 73 2e 0a 0a 69 66 20 74 65 73  threads...if tes
9e60: 74 20 22 78 24 61 62 69 22 20 21 3d 20 22 78 70  t "x$abi" != "xp
9e70: 65 63 6f 66 66 22 20 3b 20 74 68 65 6e 0a 20 20  ecoff" ; then.  
9e80: 41 43 5f 43 48 45 43 4b 5f 48 45 41 44 45 52 53  AC_CHECK_HEADERS
9e90: 28 5b 70 74 68 72 65 61 64 2e 68 5d 2c 20 2c 20  ([pthread.h], , 
9ea0: 5b 41 43 5f 4d 53 47 5f 45 52 52 4f 52 28 5b 70  [AC_MSG_ERROR([p
9eb0: 74 68 72 65 61 64 2e 68 20 69 73 20 6d 69 73 73  thread.h is miss
9ec0: 69 6e 67 5d 29 5d 29 0a 20 20 64 6e 6c 20 53 6f  ing])]).  dnl So
9ed0: 6d 65 20 73 79 73 74 65 6d 73 20 6d 61 79 20 65  me systems may e
9ee0: 6d 62 65 64 20 70 74 68 72 65 61 64 73 20 66 75  mbed pthreads fu
9ef0: 6e 63 74 69 6f 6e 61 6c 69 74 79 20 69 6e 20 6c  nctionality in l
9f00: 69 62 63 3b 20 63 68 65 63 6b 20 66 6f 72 20 6c  ibc; check for l
9f10: 69 62 70 74 68 72 65 61 64 0a 20 20 64 6e 6c 20  ibpthread.  dnl 
9f20: 66 69 72 73 74 2c 20 62 75 74 20 74 72 79 20 6c  first, but try l
9f30: 69 62 63 20 74 6f 6f 20 62 65 66 6f 72 65 20 66  ibc too before f
9f40: 61 69 6c 69 6e 67 2e 0a 20 20 41 43 5f 43 48 45  ailing..  AC_CHE
9f50: 43 4b 5f 4c 49 42 28 5b 70 74 68 72 65 61 64 5d  CK_LIB([pthread]
9f60: 2c 20 5b 70 74 68 72 65 61 64 5f 63 72 65 61 74  , [pthread_creat
9f70: 65 5d 2c 20 5b 4a 45 5f 41 50 50 45 4e 44 5f 56  e], [JE_APPEND_V
9f80: 53 28 4c 49 42 53 2c 20 2d 6c 70 74 68 72 65 61  S(LIBS, -lpthrea
9f90: 64 29 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  d)],.           
9fa0: 20 20 20 20 5b 41 43 5f 53 45 41 52 43 48 5f 4c      [AC_SEARCH_L
9fb0: 49 42 53 28 5b 70 74 68 72 65 61 64 5f 63 72 65  IBS([pthread_cre
9fc0: 61 74 65 5d 2c 20 2c 20 2c 0a 20 20 20 20 20 20  ate], , ,.      
9fd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
9fe0: 20 20 20 20 20 20 20 20 20 41 43 5f 4d 53 47 5f           AC_MSG_
9ff0: 45 52 52 4f 52 28 5b 6c 69 62 70 74 68 72 65 61  ERROR([libpthrea
a000: 64 20 69 73 20 6d 69 73 73 69 6e 67 5d 29 29 5d  d is missing]))]
a010: 29 0a 20 20 4a 45 5f 43 4f 4d 50 49 4c 41 42 4c  ).  JE_COMPILABL
a020: 45 28 5b 70 74 68 72 65 61 64 5f 61 74 66 6f 72  E([pthread_atfor
a030: 6b 28 33 29 5d 2c 20 5b 0a 23 69 6e 63 6c 75 64  k(3)], [.#includ
a040: 65 20 3c 70 74 68 72 65 61 64 2e 68 3e 0a 5d 2c  e <pthread.h>.],
a050: 20 5b 0a 20 20 70 74 68 72 65 61 64 5f 61 74 66   [.  pthread_atf
a060: 6f 72 6b 28 28 76 6f 69 64 20 2a 29 30 2c 20 28  ork((void *)0, (
a070: 76 6f 69 64 20 2a 29 30 2c 20 28 76 6f 69 64 20  void *)0, (void 
a080: 2a 29 30 29 3b 0a 5d 2c 20 5b 6a 65 5f 63 76 5f  *)0);.], [je_cv_
a090: 70 74 68 72 65 61 64 5f 61 74 66 6f 72 6b 5d 29  pthread_atfork])
a0a0: 0a 20 20 69 66 20 74 65 73 74 20 22 78 24 7b 6a  .  if test "x${j
a0b0: 65 5f 63 76 5f 70 74 68 72 65 61 64 5f 61 74 66  e_cv_pthread_atf
a0c0: 6f 72 6b 7d 22 20 3d 20 22 78 79 65 73 22 20 3b  ork}" = "xyes" ;
a0d0: 20 74 68 65 6e 0a 20 20 20 20 41 43 5f 44 45 46   then.    AC_DEF
a0e0: 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 48 41  INE([JEMALLOC_HA
a0f0: 56 45 5f 50 54 48 52 45 41 44 5f 41 54 46 4f 52  VE_PTHREAD_ATFOR
a100: 4b 5d 2c 20 5b 20 5d 29 0a 20 20 66 69 0a 66 69  K], [ ]).  fi.fi
a110: 0a 0a 4a 45 5f 41 50 50 45 4e 44 5f 56 53 28 43  ..JE_APPEND_VS(C
a120: 50 50 46 4c 41 47 53 2c 20 2d 44 5f 52 45 45 4e  PPFLAGS, -D_REEN
a130: 54 52 41 4e 54 29 0a 0a 64 6e 6c 20 43 68 65 63  TRANT)..dnl Chec
a140: 6b 20 77 68 65 74 68 65 72 20 63 6c 6f 63 6b 5f  k whether clock_
a150: 67 65 74 74 69 6d 65 28 32 29 20 69 73 20 69 6e  gettime(2) is in
a160: 20 6c 69 62 63 20 6f 72 20 6c 69 62 72 74 2e 0a   libc or librt..
a170: 41 43 5f 53 45 41 52 43 48 5f 4c 49 42 53 28 5b  AC_SEARCH_LIBS([
a180: 63 6c 6f 63 6b 5f 67 65 74 74 69 6d 65 5d 2c 20  clock_gettime], 
a190: 5b 72 74 5d 29 0a 0a 64 6e 6c 20 43 72 61 79 20  [rt])..dnl Cray 
a1a0: 77 72 61 70 70 65 72 20 63 6f 6d 70 69 6c 65 72  wrapper compiler
a1b0: 20 6f 66 74 65 6e 20 61 64 64 73 20 60 2d 6c 72   often adds `-lr
a1c0: 74 60 20 77 68 65 6e 20 75 73 69 6e 67 20 60 2d  t` when using `-
a1d0: 73 74 61 74 69 63 60 2e 20 43 68 65 63 6b 20 77  static`. Check w
a1e0: 69 74 68 0a 64 6e 6c 20 60 2d 64 79 6e 61 6d 69  ith.dnl `-dynami
a1f0: 63 60 20 61 73 20 77 65 6c 6c 20 69 6e 20 63 61  c` as well in ca
a200: 73 65 20 61 20 75 73 65 72 20 74 72 69 65 73 20  se a user tries 
a210: 74 6f 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c  to dynamically l
a220: 69 6e 6b 20 69 6e 20 6a 65 6d 61 6c 6c 6f 63 0a  ink in jemalloc.
a230: 69 66 20 74 65 73 74 20 22 78 24 6a 65 5f 63 76  if test "x$je_cv
a240: 5f 63 72 61 79 5f 70 72 67 65 6e 76 5f 77 72 61  _cray_prgenv_wra
a250: 70 70 65 72 22 20 3d 20 22 78 79 65 73 22 20 3b  pper" = "xyes" ;
a260: 20 74 68 65 6e 0a 20 20 69 66 20 74 65 73 74 20   then.  if test 
a270: 22 24 61 63 5f 63 76 5f 73 65 61 72 63 68 5f 63  "$ac_cv_search_c
a280: 6c 6f 63 6b 5f 67 65 74 74 69 6d 65 22 20 21 3d  lock_gettime" !=
a290: 20 22 2d 6c 72 74 22 3b 20 74 68 65 6e 0a 20 20   "-lrt"; then.  
a2a0: 20 20 4a 45 5f 43 46 4c 41 47 53 5f 53 41 56 45    JE_CFLAGS_SAVE
a2b0: 28 29 0a 0a 20 20 20 20 75 6e 73 65 74 20 61 63  ()..    unset ac
a2c0: 5f 63 76 5f 73 65 61 72 63 68 5f 63 6c 6f 63 6b  _cv_search_clock
a2d0: 5f 67 65 74 74 69 6d 65 0a 20 20 20 20 4a 45 5f  _gettime.    JE_
a2e0: 43 46 4c 41 47 53 5f 41 44 44 28 5b 2d 64 79 6e  CFLAGS_ADD([-dyn
a2f0: 61 6d 69 63 5d 29 0a 20 20 20 20 41 43 5f 53 45  amic]).    AC_SE
a300: 41 52 43 48 5f 4c 49 42 53 28 5b 63 6c 6f 63 6b  ARCH_LIBS([clock
a310: 5f 67 65 74 74 69 6d 65 5d 2c 20 5b 72 74 5d 29  _gettime], [rt])
a320: 0a 0a 20 20 20 20 4a 45 5f 43 46 4c 41 47 53 5f  ..    JE_CFLAGS_
a330: 52 45 53 54 4f 52 45 28 29 0a 20 20 66 69 0a 66  RESTORE().  fi.f
a340: 69 0a 0a 64 6e 6c 20 63 68 65 63 6b 20 66 6f 72  i..dnl check for
a350: 20 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43   CLOCK_MONOTONIC
a360: 5f 43 4f 41 52 53 45 20 28 4c 69 6e 75 78 2d 73  _COARSE (Linux-s
a370: 70 65 63 69 66 69 63 29 2e 0a 4a 45 5f 43 4f 4d  pecific)..JE_COM
a380: 50 49 4c 41 42 4c 45 28 5b 63 6c 6f 63 6b 5f 67  PILABLE([clock_g
a390: 65 74 74 69 6d 65 28 43 4c 4f 43 4b 5f 4d 4f 4e  ettime(CLOCK_MON
a3a0: 4f 54 4f 4e 49 43 5f 43 4f 41 52 53 45 2c 20 2e  OTONIC_COARSE, .
a3b0: 2e 2e 29 5d 2c 20 5b 0a 23 69 6e 63 6c 75 64 65  ..)], [.#include
a3c0: 20 3c 74 69 6d 65 2e 68 3e 0a 5d 2c 20 5b 0a 09   <time.h>.], [..
a3d0: 73 74 72 75 63 74 20 74 69 6d 65 73 70 65 63 20  struct timespec 
a3e0: 74 73 3b 0a 0a 09 63 6c 6f 63 6b 5f 67 65 74 74  ts;...clock_gett
a3f0: 69 6d 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f  ime(CLOCK_MONOTO
a400: 4e 49 43 5f 43 4f 41 52 53 45 2c 20 26 74 73 29  NIC_COARSE, &ts)
a410: 3b 0a 5d 2c 20 5b 6a 65 5f 63 76 5f 63 6c 6f 63  ;.], [je_cv_cloc
a420: 6b 5f 6d 6f 6e 6f 74 6f 6e 69 63 5f 63 6f 61 72  k_monotonic_coar
a430: 73 65 5d 29 0a 69 66 20 74 65 73 74 20 22 78 24  se]).if test "x$
a440: 7b 6a 65 5f 63 76 5f 63 6c 6f 63 6b 5f 6d 6f 6e  {je_cv_clock_mon
a450: 6f 74 6f 6e 69 63 5f 63 6f 61 72 73 65 7d 22 20  otonic_coarse}" 
a460: 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65 6e 0a  = "xyes" ; then.
a470: 20 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d    AC_DEFINE([JEM
a480: 41 4c 4c 4f 43 5f 48 41 56 45 5f 43 4c 4f 43 4b  ALLOC_HAVE_CLOCK
a490: 5f 4d 4f 4e 4f 54 4f 4e 49 43 5f 43 4f 41 52 53  _MONOTONIC_COARS
a4a0: 45 5d 29 0a 66 69 0a 0a 64 6e 6c 20 63 68 65 63  E]).fi..dnl chec
a4b0: 6b 20 66 6f 72 20 43 4c 4f 43 4b 5f 4d 4f 4e 4f  k for CLOCK_MONO
a4c0: 54 4f 4e 49 43 2e 0a 4a 45 5f 43 4f 4d 50 49 4c  TONIC..JE_COMPIL
a4d0: 41 42 4c 45 28 5b 63 6c 6f 63 6b 5f 67 65 74 74  ABLE([clock_gett
a4e0: 69 6d 65 28 43 4c 4f 43 4b 5f 4d 4f 4e 4f 54 4f  ime(CLOCK_MONOTO
a4f0: 4e 49 43 2c 20 2e 2e 2e 29 5d 2c 20 5b 0a 23 69  NIC, ...)], [.#i
a500: 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68  nclude <unistd.h
a510: 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 74 69 6d 65  >.#include <time
a520: 2e 68 3e 0a 5d 2c 20 5b 0a 09 73 74 72 75 63 74  .h>.], [..struct
a530: 20 74 69 6d 65 73 70 65 63 20 74 73 3b 0a 0a 09   timespec ts;...
a540: 63 6c 6f 63 6b 5f 67 65 74 74 69 6d 65 28 43 4c  clock_gettime(CL
a550: 4f 43 4b 5f 4d 4f 4e 4f 54 4f 4e 49 43 2c 20 26  OCK_MONOTONIC, &
a560: 74 73 29 3b 0a 23 69 66 20 21 64 65 66 69 6e 65  ts);.#if !define
a570: 64 28 5f 50 4f 53 49 58 5f 4d 4f 4e 4f 54 4f 4e  d(_POSIX_MONOTON
a580: 49 43 5f 43 4c 4f 43 4b 29 20 7c 7c 20 5f 50 4f  IC_CLOCK) || _PO
a590: 53 49 58 5f 4d 4f 4e 4f 54 4f 4e 49 43 5f 43 4c  SIX_MONOTONIC_CL
a5a0: 4f 43 4b 20 3c 20 30 0a 23 20 20 65 72 72 6f 72  OCK < 0.#  error
a5b0: 20 5f 50 4f 53 49 58 5f 4d 4f 4e 4f 54 4f 4e 49   _POSIX_MONOTONI
a5c0: 43 5f 43 4c 4f 43 4b 20 6d 69 73 73 69 6e 67 2f  C_CLOCK missing/
a5d0: 69 6e 76 61 6c 69 64 0a 23 65 6e 64 69 66 0a 5d  invalid.#endif.]
a5e0: 2c 20 5b 6a 65 5f 63 76 5f 63 6c 6f 63 6b 5f 6d  , [je_cv_clock_m
a5f0: 6f 6e 6f 74 6f 6e 69 63 5d 29 0a 69 66 20 74 65  onotonic]).if te
a600: 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f 63 6c 6f  st "x${je_cv_clo
a610: 63 6b 5f 6d 6f 6e 6f 74 6f 6e 69 63 7d 22 20 3d  ck_monotonic}" =
a620: 20 22 78 79 65 73 22 20 3b 20 74 68 65 6e 0a 20   "xyes" ; then. 
a630: 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41   AC_DEFINE([JEMA
a640: 4c 4c 4f 43 5f 48 41 56 45 5f 43 4c 4f 43 4b 5f  LLOC_HAVE_CLOCK_
a650: 4d 4f 4e 4f 54 4f 4e 49 43 5d 29 0a 66 69 0a 0a  MONOTONIC]).fi..
a660: 64 6e 6c 20 43 68 65 63 6b 20 66 6f 72 20 6d 61  dnl Check for ma
a670: 63 68 5f 61 62 73 6f 6c 75 74 65 5f 74 69 6d 65  ch_absolute_time
a680: 28 29 2e 0a 4a 45 5f 43 4f 4d 50 49 4c 41 42 4c  ()..JE_COMPILABL
a690: 45 28 5b 6d 61 63 68 5f 61 62 73 6f 6c 75 74 65  E([mach_absolute
a6a0: 5f 74 69 6d 65 28 29 5d 2c 20 5b 0a 23 69 6e 63  _time()], [.#inc
a6b0: 6c 75 64 65 20 3c 6d 61 63 68 2f 6d 61 63 68 5f  lude <mach/mach_
a6c0: 74 69 6d 65 2e 68 3e 0a 5d 2c 20 5b 0a 09 6d 61  time.h>.], [..ma
a6d0: 63 68 5f 61 62 73 6f 6c 75 74 65 5f 74 69 6d 65  ch_absolute_time
a6e0: 28 29 3b 0a 5d 2c 20 5b 6a 65 5f 63 76 5f 6d 61  ();.], [je_cv_ma
a6f0: 63 68 5f 61 62 73 6f 6c 75 74 65 5f 74 69 6d 65  ch_absolute_time
a700: 5d 29 0a 69 66 20 74 65 73 74 20 22 78 24 7b 6a  ]).if test "x${j
a710: 65 5f 63 76 5f 6d 61 63 68 5f 61 62 73 6f 6c 75  e_cv_mach_absolu
a720: 74 65 5f 74 69 6d 65 7d 22 20 3d 20 22 78 79 65  te_time}" = "xye
a730: 73 22 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44  s" ; then.  AC_D
a740: 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f  EFINE([JEMALLOC_
a750: 48 41 56 45 5f 4d 41 43 48 5f 41 42 53 4f 4c 55  HAVE_MACH_ABSOLU
a760: 54 45 5f 54 49 4d 45 5d 29 0a 66 69 0a 0a 64 6e  TE_TIME]).fi..dn
a770: 6c 20 55 73 65 20 73 79 73 63 61 6c 6c 28 32 29  l Use syscall(2)
a780: 20 28 69 66 20 61 76 61 69 6c 61 62 6c 65 29 20   (if available) 
a790: 62 79 20 64 65 66 61 75 6c 74 2e 0a 41 43 5f 41  by default..AC_A
a7a0: 52 47 5f 45 4e 41 42 4c 45 28 5b 73 79 73 63 61  RG_ENABLE([sysca
a7b0: 6c 6c 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c 50 5f  ll],.  [AS_HELP_
a7c0: 53 54 52 49 4e 47 28 5b 2d 2d 64 69 73 61 62 6c  STRING([--disabl
a7d0: 65 2d 73 79 73 63 61 6c 6c 5d 2c 20 5b 44 69 73  e-syscall], [Dis
a7e0: 61 62 6c 65 20 75 73 65 20 6f 66 20 73 79 73 63  able use of sysc
a7f0: 61 6c 6c 28 32 29 5d 29 5d 2c 0a 5b 69 66 20 74  all(2)])],.[if t
a800: 65 73 74 20 22 78 24 65 6e 61 62 6c 65 5f 73 79  est "x$enable_sy
a810: 73 63 61 6c 6c 22 20 3d 20 22 78 6e 6f 22 20 3b  scall" = "xno" ;
a820: 20 74 68 65 6e 0a 20 20 65 6e 61 62 6c 65 5f 73   then.  enable_s
a830: 79 73 63 61 6c 6c 3d 22 30 22 0a 65 6c 73 65 0a  yscall="0".else.
a840: 20 20 65 6e 61 62 6c 65 5f 73 79 73 63 61 6c 6c    enable_syscall
a850: 3d 22 31 22 0a 66 69 0a 5d 2c 0a 5b 65 6e 61 62  ="1".fi.],.[enab
a860: 6c 65 5f 73 79 73 63 61 6c 6c 3d 22 31 22 5d 0a  le_syscall="1"].
a870: 29 0a 69 66 20 74 65 73 74 20 22 78 24 65 6e 61  ).if test "x$ena
a880: 62 6c 65 5f 73 79 73 63 61 6c 6c 22 20 3d 20 22  ble_syscall" = "
a890: 78 31 22 20 3b 20 74 68 65 6e 0a 20 20 64 6e 6c  x1" ; then.  dnl
a8a0: 20 43 68 65 63 6b 20 69 66 20 73 79 73 63 61 6c   Check if syscal
a8b0: 6c 28 32 29 20 69 73 20 75 73 61 62 6c 65 2e 20  l(2) is usable. 
a8c0: 20 54 72 65 61 74 20 77 61 72 6e 69 6e 67 73 20   Treat warnings 
a8d0: 61 73 20 65 72 72 6f 72 73 2c 20 73 6f 20 74 68  as errors, so th
a8e0: 61 74 20 65 2e 67 2e 20 4f 53 0a 20 20 64 6e 6c  at e.g. OS.  dnl
a8f0: 20 58 20 31 30 2e 31 32 27 73 20 64 65 70 72 65   X 10.12's depre
a900: 63 61 74 69 6f 6e 20 77 61 72 6e 69 6e 67 20 70  cation warning p
a910: 72 65 76 65 6e 74 73 20 75 73 65 2e 0a 20 20 4a  revents use..  J
a920: 45 5f 43 46 4c 41 47 53 5f 53 41 56 45 28 29 0a  E_CFLAGS_SAVE().
a930: 20 20 4a 45 5f 43 46 4c 41 47 53 5f 41 44 44 28    JE_CFLAGS_ADD(
a940: 5b 2d 57 65 72 72 6f 72 5d 29 0a 20 20 4a 45 5f  [-Werror]).  JE_
a950: 43 4f 4d 50 49 4c 41 42 4c 45 28 5b 73 79 73 63  COMPILABLE([sysc
a960: 61 6c 6c 28 32 29 5d 2c 20 5b 0a 23 69 6e 63 6c  all(2)], [.#incl
a970: 75 64 65 20 3c 73 79 73 2f 73 79 73 63 61 6c 6c  ude <sys/syscall
a980: 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 75 6e  .h>.#include <un
a990: 69 73 74 64 2e 68 3e 0a 5d 2c 20 5b 0a 09 73 79  istd.h>.], [..sy
a9a0: 73 63 61 6c 6c 28 53 59 53 5f 77 72 69 74 65 2c  scall(SYS_write,
a9b0: 20 32 2c 20 22 68 65 6c 6c 6f 22 2c 20 35 29 3b   2, "hello", 5);
a9c0: 0a 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  .],.            
a9d0: 20 20 20 20 5b 6a 65 5f 63 76 5f 73 79 73 63 61      [je_cv_sysca
a9e0: 6c 6c 5d 29 0a 20 20 4a 45 5f 43 46 4c 41 47 53  ll]).  JE_CFLAGS
a9f0: 5f 52 45 53 54 4f 52 45 28 29 0a 20 20 69 66 20  _RESTORE().  if 
aa00: 74 65 73 74 20 22 78 24 6a 65 5f 63 76 5f 73 79  test "x$je_cv_sy
aa10: 73 63 61 6c 6c 22 20 3d 20 22 78 79 65 73 22 20  scall" = "xyes" 
aa20: 3b 20 74 68 65 6e 0a 20 20 20 20 41 43 5f 44 45  ; then.    AC_DE
aa30: 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 55  FINE([JEMALLOC_U
aa40: 53 45 5f 53 59 53 43 41 4c 4c 5d 2c 20 5b 20 5d  SE_SYSCALL], [ ]
aa50: 29 0a 20 20 66 69 0a 66 69 0a 0a 64 6e 6c 20 43  ).  fi.fi..dnl C
aa60: 68 65 63 6b 20 69 66 20 74 68 65 20 47 4e 55 2d  heck if the GNU-
aa70: 73 70 65 63 69 66 69 63 20 73 65 63 75 72 65 5f  specific secure_
aa80: 67 65 74 65 6e 76 20 66 75 6e 63 74 69 6f 6e 20  getenv function 
aa90: 65 78 69 73 74 73 2e 0a 41 43 5f 43 48 45 43 4b  exists..AC_CHECK
aaa0: 5f 46 55 4e 43 28 5b 73 65 63 75 72 65 5f 67 65  _FUNC([secure_ge
aab0: 74 65 6e 76 5d 2c 0a 20 20 20 20 20 20 20 20 20  tenv],.         
aac0: 20 20 20 20 20 5b 68 61 76 65 5f 73 65 63 75 72       [have_secur
aad0: 65 5f 67 65 74 65 6e 76 3d 22 31 22 5d 2c 0a 20  e_getenv="1"],. 
aae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 68 61               [ha
aaf0: 76 65 5f 73 65 63 75 72 65 5f 67 65 74 65 6e 76  ve_secure_getenv
ab00: 3d 22 30 22 5d 0a 20 20 20 20 20 20 20 20 20 20  ="0"].          
ab10: 20 20 20 29 0a 69 66 20 74 65 73 74 20 22 78 24     ).if test "x$
ab20: 68 61 76 65 5f 73 65 63 75 72 65 5f 67 65 74 65  have_secure_gete
ab30: 6e 76 22 20 3d 20 22 78 31 22 20 3b 20 74 68 65  nv" = "x1" ; the
ab40: 6e 0a 20 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a  n.  AC_DEFINE([J
ab50: 45 4d 41 4c 4c 4f 43 5f 48 41 56 45 5f 53 45 43  EMALLOC_HAVE_SEC
ab60: 55 52 45 5f 47 45 54 45 4e 56 5d 2c 20 5b 20 5d  URE_GETENV], [ ]
ab70: 29 0a 66 69 0a 0a 64 6e 6c 20 43 68 65 63 6b 20  ).fi..dnl Check 
ab80: 69 66 20 74 68 65 20 53 6f 6c 61 72 69 73 2f 42  if the Solaris/B
ab90: 53 44 20 69 73 73 65 74 75 67 69 64 20 66 75 6e  SD issetugid fun
aba0: 63 74 69 6f 6e 20 65 78 69 73 74 73 2e 0a 41 43  ction exists..AC
abb0: 5f 43 48 45 43 4b 5f 46 55 4e 43 28 5b 69 73 73  _CHECK_FUNC([iss
abc0: 65 74 75 67 69 64 5d 2c 0a 20 20 20 20 20 20 20  etugid],.       
abd0: 20 20 20 20 20 20 20 5b 68 61 76 65 5f 69 73 73         [have_iss
abe0: 65 74 75 67 69 64 3d 22 31 22 5d 2c 0a 20 20 20  etugid="1"],.   
abf0: 20 20 20 20 20 20 20 20 20 20 20 5b 68 61 76 65             [have
ac00: 5f 69 73 73 65 74 75 67 69 64 3d 22 30 22 5d 0a  _issetugid="0"].
ac10: 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a 69               ).i
ac20: 66 20 74 65 73 74 20 22 78 24 68 61 76 65 5f 69  f test "x$have_i
ac30: 73 73 65 74 75 67 69 64 22 20 3d 20 22 78 31 22  ssetugid" = "x1"
ac40: 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45 46   ; then.  AC_DEF
ac50: 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 48 41  INE([JEMALLOC_HA
ac60: 56 45 5f 49 53 53 45 54 55 47 49 44 5d 2c 20 5b  VE_ISSETUGID], [
ac70: 20 5d 29 0a 66 69 0a 0a 64 6e 6c 20 43 68 65 63   ]).fi..dnl Chec
ac80: 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 42 53  k whether the BS
ac90: 44 2d 73 70 65 63 69 66 69 63 20 5f 6d 61 6c 6c  D-specific _mall
aca0: 6f 63 5f 74 68 72 65 61 64 5f 63 6c 65 61 6e 75  oc_thread_cleanu
acb0: 70 28 29 20 65 78 69 73 74 73 2e 20 20 49 66 20  p() exists.  If 
acc0: 73 6f 2c 20 75 73 65 0a 64 6e 6c 20 69 74 20 72  so, use.dnl it r
acd0: 61 74 68 65 72 20 74 68 61 6e 20 70 74 68 72 65  ather than pthre
ace0: 61 64 73 20 54 53 44 20 63 6c 65 61 6e 75 70 20  ads TSD cleanup 
acf0: 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 73 75 70  functions to sup
ad00: 70 6f 72 74 20 63 6c 65 61 6e 75 70 20 64 75 72  port cleanup dur
ad10: 69 6e 67 0a 64 6e 6c 20 74 68 72 65 61 64 20 65  ing.dnl thread e
ad20: 78 69 74 2c 20 69 6e 20 6f 72 64 65 72 20 74 6f  xit, in order to
ad30: 20 61 76 6f 69 64 20 70 74 68 72 65 61 64 73 20   avoid pthreads 
ad40: 6c 69 62 72 61 72 79 20 72 65 63 75 72 73 69 6f  library recursio
ad50: 6e 20 64 75 72 69 6e 67 0a 64 6e 6c 20 62 6f 6f  n during.dnl boo
ad60: 74 73 74 72 61 70 70 69 6e 67 2e 0a 41 43 5f 43  tstrapping..AC_C
ad70: 48 45 43 4b 5f 46 55 4e 43 28 5b 5f 6d 61 6c 6c  HECK_FUNC([_mall
ad80: 6f 63 5f 74 68 72 65 61 64 5f 63 6c 65 61 6e 75  oc_thread_cleanu
ad90: 70 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20  p],.            
ada0: 20 20 5b 68 61 76 65 5f 5f 6d 61 6c 6c 6f 63 5f    [have__malloc_
adb0: 74 68 72 65 61 64 5f 63 6c 65 61 6e 75 70 3d 22  thread_cleanup="
adc0: 31 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  1"],.           
add0: 20 20 20 5b 68 61 76 65 5f 5f 6d 61 6c 6c 6f 63     [have__malloc
ade0: 5f 74 68 72 65 61 64 5f 63 6c 65 61 6e 75 70 3d  _thread_cleanup=
adf0: 22 30 22 5d 0a 20 20 20 20 20 20 20 20 20 20 20  "0"].           
ae00: 20 20 29 0a 69 66 20 74 65 73 74 20 22 78 24 68    ).if test "x$h
ae10: 61 76 65 5f 5f 6d 61 6c 6c 6f 63 5f 74 68 72 65  ave__malloc_thre
ae20: 61 64 5f 63 6c 65 61 6e 75 70 22 20 3d 20 22 78  ad_cleanup" = "x
ae30: 31 22 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44  1" ; then.  AC_D
ae40: 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f  EFINE([JEMALLOC_
ae50: 4d 41 4c 4c 4f 43 5f 54 48 52 45 41 44 5f 43 4c  MALLOC_THREAD_CL
ae60: 45 41 4e 55 50 5d 2c 20 5b 20 5d 29 0a 20 20 66  EANUP], [ ]).  f
ae70: 6f 72 63 65 5f 74 6c 73 3d 22 31 22 0a 66 69 0a  orce_tls="1".fi.
ae80: 0a 64 6e 6c 20 43 68 65 63 6b 20 77 68 65 74 68  .dnl Check wheth
ae90: 65 72 20 74 68 65 20 42 53 44 2d 73 70 65 63 69  er the BSD-speci
aea0: 66 69 63 20 5f 70 74 68 72 65 61 64 5f 6d 75 74  fic _pthread_mut
aeb0: 65 78 5f 69 6e 69 74 5f 63 61 6c 6c 6f 63 5f 63  ex_init_calloc_c
aec0: 62 28 29 20 65 78 69 73 74 73 2e 20 20 49 66 0a  b() exists.  If.
aed0: 64 6e 6c 20 73 6f 2c 20 6d 75 74 65 78 20 69 6e  dnl so, mutex in
aee0: 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 63 61 75  itialization cau
aef0: 73 65 73 20 61 6c 6c 6f 63 61 74 69 6f 6e 2c 20  ses allocation, 
af00: 61 6e 64 20 77 65 20 6e 65 65 64 20 74 6f 20 69  and we need to i
af10: 6d 70 6c 65 6d 65 6e 74 20 74 68 69 73 0a 64 6e  mplement this.dn
af20: 6c 20 63 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74  l callback funct
af30: 69 6f 6e 20 69 6e 20 6f 72 64 65 72 20 74 6f 20  ion in order to 
af40: 70 72 65 76 65 6e 74 20 72 65 63 75 72 73 69 76  prevent recursiv
af50: 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 2e 0a 41 43  e allocation..AC
af60: 5f 43 48 45 43 4b 5f 46 55 4e 43 28 5b 5f 70 74  _CHECK_FUNC([_pt
af70: 68 72 65 61 64 5f 6d 75 74 65 78 5f 69 6e 69 74  hread_mutex_init
af80: 5f 63 61 6c 6c 6f 63 5f 63 62 5d 2c 0a 20 20 20  _calloc_cb],.   
af90: 20 20 20 20 20 20 20 20 20 20 20 5b 68 61 76 65             [have
afa0: 5f 5f 70 74 68 72 65 61 64 5f 6d 75 74 65 78 5f  __pthread_mutex_
afb0: 69 6e 69 74 5f 63 61 6c 6c 6f 63 5f 63 62 3d 22  init_calloc_cb="
afc0: 31 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20  1"],.           
afd0: 20 20 20 5b 68 61 76 65 5f 5f 70 74 68 72 65 61     [have__pthrea
afe0: 64 5f 6d 75 74 65 78 5f 69 6e 69 74 5f 63 61 6c  d_mutex_init_cal
aff0: 6c 6f 63 5f 63 62 3d 22 30 22 5d 0a 20 20 20 20  loc_cb="0"].    
b000: 20 20 20 20 20 20 20 20 20 29 0a 69 66 20 74 65           ).if te
b010: 73 74 20 22 78 24 68 61 76 65 5f 5f 70 74 68 72  st "x$have__pthr
b020: 65 61 64 5f 6d 75 74 65 78 5f 69 6e 69 74 5f 63  ead_mutex_init_c
b030: 61 6c 6c 6f 63 5f 63 62 22 20 3d 20 22 78 31 22  alloc_cb" = "x1"
b040: 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45 46   ; then.  AC_DEF
b050: 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 4d 55  INE([JEMALLOC_MU
b060: 54 45 58 5f 49 4e 49 54 5f 43 42 5d 29 0a 66 69  TEX_INIT_CB]).fi
b070: 0a 0a 64 6e 6c 20 44 69 73 61 62 6c 65 20 6c 61  ..dnl Disable la
b080: 7a 79 20 6c 6f 63 6b 69 6e 67 20 62 79 20 64 65  zy locking by de
b090: 66 61 75 6c 74 2e 0a 41 43 5f 41 52 47 5f 45 4e  fault..AC_ARG_EN
b0a0: 41 42 4c 45 28 5b 6c 61 7a 79 5f 6c 6f 63 6b 5d  ABLE([lazy_lock]
b0b0: 2c 0a 20 20 5b 41 53 5f 48 45 4c 50 5f 53 54 52  ,.  [AS_HELP_STR
b0c0: 49 4e 47 28 5b 2d 2d 65 6e 61 62 6c 65 2d 6c 61  ING([--enable-la
b0d0: 7a 79 2d 6c 6f 63 6b 5d 2c 0a 20 20 5b 45 6e 61  zy-lock],.  [Ena
b0e0: 62 6c 65 20 6c 61 7a 79 20 6c 6f 63 6b 69 6e 67  ble lazy locking
b0f0: 20 28 6f 6e 6c 79 20 6c 6f 63 6b 20 77 68 65 6e   (only lock when
b100: 20 6d 75 6c 74 69 2d 74 68 72 65 61 64 65 64 29   multi-threaded)
b110: 5d 29 5d 2c 0a 5b 69 66 20 74 65 73 74 20 22 78  ])],.[if test "x
b120: 24 65 6e 61 62 6c 65 5f 6c 61 7a 79 5f 6c 6f 63  $enable_lazy_loc
b130: 6b 22 20 3d 20 22 78 6e 6f 22 20 3b 20 74 68 65  k" = "xno" ; the
b140: 6e 0a 20 20 65 6e 61 62 6c 65 5f 6c 61 7a 79 5f  n.  enable_lazy_
b150: 6c 6f 63 6b 3d 22 30 22 0a 65 6c 73 65 0a 20 20  lock="0".else.  
b160: 65 6e 61 62 6c 65 5f 6c 61 7a 79 5f 6c 6f 63 6b  enable_lazy_lock
b170: 3d 22 31 22 0a 66 69 0a 5d 2c 0a 5b 65 6e 61 62  ="1".fi.],.[enab
b180: 6c 65 5f 6c 61 7a 79 5f 6c 6f 63 6b 3d 22 22 5d  le_lazy_lock=""]
b190: 0a 29 0a 69 66 20 74 65 73 74 20 22 78 24 7b 65  .).if test "x${e
b1a0: 6e 61 62 6c 65 5f 6c 61 7a 79 5f 6c 6f 63 6b 7d  nable_lazy_lock}
b1b0: 22 20 3d 20 22 78 22 20 3b 20 74 68 65 6e 0a 20  " = "x" ; then. 
b1c0: 20 69 66 20 74 65 73 74 20 22 78 24 7b 66 6f 72   if test "x${for
b1d0: 63 65 5f 6c 61 7a 79 5f 6c 6f 63 6b 7d 22 20 3d  ce_lazy_lock}" =
b1e0: 20 22 78 31 22 20 3b 20 74 68 65 6e 0a 20 20 20   "x1" ; then.   
b1f0: 20 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b   AC_MSG_RESULT([
b200: 46 6f 72 63 69 6e 67 20 6c 61 7a 79 2d 6c 6f 63  Forcing lazy-loc
b210: 6b 20 74 6f 20 61 76 6f 69 64 20 61 6c 6c 6f 63  k to avoid alloc
b220: 61 74 6f 72 2f 74 68 72 65 61 64 69 6e 67 20 62  ator/threading b
b230: 6f 6f 74 73 74 72 61 70 20 69 73 73 75 65 73 5d  ootstrap issues]
b240: 29 0a 20 20 20 20 65 6e 61 62 6c 65 5f 6c 61 7a  ).    enable_laz
b250: 79 5f 6c 6f 63 6b 3d 22 31 22 0a 20 20 65 6c 73  y_lock="1".  els
b260: 65 0a 20 20 20 20 65 6e 61 62 6c 65 5f 6c 61 7a  e.    enable_laz
b270: 79 5f 6c 6f 63 6b 3d 22 30 22 0a 20 20 66 69 0a  y_lock="0".  fi.
b280: 66 69 0a 69 66 20 74 65 73 74 20 22 78 24 7b 65  fi.if test "x${e
b290: 6e 61 62 6c 65 5f 6c 61 7a 79 5f 6c 6f 63 6b 7d  nable_lazy_lock}
b2a0: 22 20 3d 20 22 78 31 22 20 2d 61 20 22 78 24 7b  " = "x1" -a "x${
b2b0: 61 62 69 7d 22 20 3d 20 22 78 70 65 63 6f 66 66  abi}" = "xpecoff
b2c0: 22 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 4d 53  " ; then.  AC_MS
b2d0: 47 5f 52 45 53 55 4c 54 28 5b 46 6f 72 63 69 6e  G_RESULT([Forcin
b2e0: 67 20 6e 6f 20 6c 61 7a 79 2d 6c 6f 63 6b 20 62  g no lazy-lock b
b2f0: 65 63 61 75 73 65 20 74 68 72 65 61 64 20 63 72  ecause thread cr
b300: 65 61 74 69 6f 6e 20 6d 6f 6e 69 74 6f 72 69 6e  eation monitorin
b310: 67 20 69 73 20 75 6e 69 6d 70 6c 65 6d 65 6e 74  g is unimplement
b320: 65 64 5d 29 0a 20 20 65 6e 61 62 6c 65 5f 6c 61  ed]).  enable_la
b330: 7a 79 5f 6c 6f 63 6b 3d 22 30 22 0a 66 69 0a 69  zy_lock="0".fi.i
b340: 66 20 74 65 73 74 20 22 78 24 65 6e 61 62 6c 65  f test "x$enable
b350: 5f 6c 61 7a 79 5f 6c 6f 63 6b 22 20 3d 20 22 78  _lazy_lock" = "x
b360: 31 22 20 3b 20 74 68 65 6e 0a 20 20 69 66 20 74  1" ; then.  if t
b370: 65 73 74 20 22 78 24 61 62 69 22 20 21 3d 20 22  est "x$abi" != "
b380: 78 70 65 63 6f 66 66 22 20 3b 20 74 68 65 6e 0a  xpecoff" ; then.
b390: 20 20 20 20 41 43 5f 43 48 45 43 4b 5f 48 45 41      AC_CHECK_HEA
b3a0: 44 45 52 53 28 5b 64 6c 66 63 6e 2e 68 5d 2c 20  DERS([dlfcn.h], 
b3b0: 2c 20 5b 41 43 5f 4d 53 47 5f 45 52 52 4f 52 28  , [AC_MSG_ERROR(
b3c0: 5b 64 6c 66 63 6e 2e 68 20 69 73 20 6d 69 73 73  [dlfcn.h is miss
b3d0: 69 6e 67 5d 29 5d 29 0a 20 20 20 20 41 43 5f 43  ing])]).    AC_C
b3e0: 48 45 43 4b 5f 46 55 4e 43 28 5b 64 6c 73 79 6d  HECK_FUNC([dlsym
b3f0: 5d 2c 20 5b 5d 2c 0a 20 20 20 20 20 20 5b 41 43  ], [],.      [AC
b400: 5f 43 48 45 43 4b 5f 4c 49 42 28 5b 64 6c 5d 2c  _CHECK_LIB([dl],
b410: 20 5b 64 6c 73 79 6d 5d 2c 20 5b 4a 45 5f 41 50   [dlsym], [JE_AP
b420: 50 45 4e 44 5f 56 53 28 4c 49 42 53 2c 20 2d 6c  PEND_VS(LIBS, -l
b430: 64 6c 29 5d 2c 0a 20 20 20 20 20 20 20 20 20 20  dl)],.          
b440: 20 20 20 20 20 20 20 20 20 20 5b 41 43 5f 4d 53            [AC_MS
b450: 47 5f 45 52 52 4f 52 28 5b 6c 69 62 64 6c 20 69  G_ERROR([libdl i
b460: 73 20 6d 69 73 73 69 6e 67 5d 29 5d 29 0a 20 20  s missing])]).  
b470: 20 20 20 20 5d 29 0a 20 20 66 69 0a 20 20 41 43      ]).  fi.  AC
b480: 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f  _DEFINE([JEMALLO
b490: 43 5f 4c 41 5a 59 5f 4c 4f 43 4b 5d 2c 20 5b 20  C_LAZY_LOCK], [ 
b4a0: 5d 29 0a 66 69 0a 41 43 5f 53 55 42 53 54 28 5b  ]).fi.AC_SUBST([
b4b0: 65 6e 61 62 6c 65 5f 6c 61 7a 79 5f 6c 6f 63 6b  enable_lazy_lock
b4c0: 5d 29 0a 0a 41 43 5f 41 52 47 5f 45 4e 41 42 4c  ])..AC_ARG_ENABL
b4d0: 45 28 5b 74 6c 73 5d 2c 0a 20 20 5b 41 53 5f 48  E([tls],.  [AS_H
b4e0: 45 4c 50 5f 53 54 52 49 4e 47 28 5b 2d 2d 64 69  ELP_STRING([--di
b4f0: 73 61 62 6c 65 2d 74 6c 73 5d 2c 20 5b 44 69 73  sable-tls], [Dis
b500: 61 62 6c 65 20 74 68 72 65 61 64 2d 6c 6f 63 61  able thread-loca
b510: 6c 20 73 74 6f 72 61 67 65 20 28 5f 5f 74 68 72  l storage (__thr
b520: 65 61 64 20 6b 65 79 77 6f 72 64 29 5d 29 5d 2c  ead keyword)])],
b530: 0a 69 66 20 74 65 73 74 20 22 78 24 65 6e 61 62  .if test "x$enab
b540: 6c 65 5f 74 6c 73 22 20 3d 20 22 78 6e 6f 22 20  le_tls" = "xno" 
b550: 3b 20 74 68 65 6e 0a 20 20 65 6e 61 62 6c 65 5f  ; then.  enable_
b560: 74 6c 73 3d 22 30 22 0a 65 6c 73 65 0a 20 20 65  tls="0".else.  e
b570: 6e 61 62 6c 65 5f 74 6c 73 3d 22 31 22 0a 66 69  nable_tls="1".fi
b580: 0a 2c 0a 65 6e 61 62 6c 65 5f 74 6c 73 3d 22 22  .,.enable_tls=""
b590: 0a 29 0a 69 66 20 74 65 73 74 20 22 78 24 7b 65  .).if test "x${e
b5a0: 6e 61 62 6c 65 5f 74 6c 73 7d 22 20 3d 20 22 78  nable_tls}" = "x
b5b0: 22 20 3b 20 74 68 65 6e 0a 20 20 69 66 20 74 65  " ; then.  if te
b5c0: 73 74 20 22 78 24 7b 66 6f 72 63 65 5f 74 6c 73  st "x${force_tls
b5d0: 7d 22 20 3d 20 22 78 31 22 20 3b 20 74 68 65 6e  }" = "x1" ; then
b5e0: 0a 20 20 20 20 41 43 5f 4d 53 47 5f 52 45 53 55  .    AC_MSG_RESU
b5f0: 4c 54 28 5b 46 6f 72 63 69 6e 67 20 54 4c 53 20  LT([Forcing TLS 
b600: 74 6f 20 61 76 6f 69 64 20 61 6c 6c 6f 63 61 74  to avoid allocat
b610: 6f 72 2f 74 68 72 65 61 64 69 6e 67 20 62 6f 6f  or/threading boo
b620: 74 73 74 72 61 70 20 69 73 73 75 65 73 5d 29 0a  tstrap issues]).
b630: 20 20 20 20 65 6e 61 62 6c 65 5f 74 6c 73 3d 22      enable_tls="
b640: 31 22 0a 20 20 65 6c 69 66 20 74 65 73 74 20 22  1".  elif test "
b650: 78 24 7b 66 6f 72 63 65 5f 74 6c 73 7d 22 20 3d  x${force_tls}" =
b660: 20 22 78 30 22 20 3b 20 74 68 65 6e 0a 20 20 20   "x0" ; then.   
b670: 20 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b   AC_MSG_RESULT([
b680: 46 6f 72 63 69 6e 67 20 6e 6f 20 54 4c 53 20 74  Forcing no TLS t
b690: 6f 20 61 76 6f 69 64 20 61 6c 6c 6f 63 61 74 6f  o avoid allocato
b6a0: 72 2f 74 68 72 65 61 64 69 6e 67 20 62 6f 6f 74  r/threading boot
b6b0: 73 74 72 61 70 20 69 73 73 75 65 73 5d 29 0a 20  strap issues]). 
b6c0: 20 20 20 65 6e 61 62 6c 65 5f 74 6c 73 3d 22 30     enable_tls="0
b6d0: 22 0a 20 20 65 6c 73 65 0a 20 20 20 20 65 6e 61  ".  else.    ena
b6e0: 62 6c 65 5f 74 6c 73 3d 22 31 22 0a 20 20 66 69  ble_tls="1".  fi
b6f0: 0a 66 69 0a 69 66 20 74 65 73 74 20 22 78 24 7b  .fi.if test "x${
b700: 65 6e 61 62 6c 65 5f 74 6c 73 7d 22 20 3d 20 22  enable_tls}" = "
b710: 78 31 22 20 3b 20 74 68 65 6e 0a 41 43 5f 4d 53  x1" ; then.AC_MS
b720: 47 5f 43 48 45 43 4b 49 4e 47 28 5b 66 6f 72 20  G_CHECKING([for 
b730: 54 4c 53 5d 29 0a 41 43 5f 43 4f 4d 50 49 4c 45  TLS]).AC_COMPILE
b740: 5f 49 46 45 4c 53 45 28 5b 41 43 5f 4c 41 4e 47  _IFELSE([AC_LANG
b750: 5f 50 52 4f 47 52 41 4d 28 0a 5b 5b 0a 20 20 20  _PROGRAM(.[[.   
b760: 20 5f 5f 74 68 72 65 61 64 20 69 6e 74 20 78 3b   __thread int x;
b770: 0a 5d 5d 2c 20 5b 5b 0a 20 20 20 20 78 20 3d 20  .]], [[.    x = 
b780: 34 32 3b 0a 0a 20 20 20 20 72 65 74 75 72 6e 20  42;..    return 
b790: 30 3b 0a 5d 5d 29 5d 2c 0a 20 20 20 20 20 20 20  0;.]])],.       
b7a0: 20 20 20 20 20 20 20 41 43 5f 4d 53 47 5f 52 45         AC_MSG_RE
b7b0: 53 55 4c 54 28 5b 79 65 73 5d 29 2c 0a 20 20 20  SULT([yes]),.   
b7c0: 20 20 20 20 20 20 20 20 20 20 20 41 43 5f 4d 53             AC_MS
b7d0: 47 5f 52 45 53 55 4c 54 28 5b 6e 6f 5d 29 0a 20  G_RESULT([no]). 
b7e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 61               ena
b7f0: 62 6c 65 5f 74 6c 73 3d 22 30 22 29 0a 65 6c 73  ble_tls="0").els
b800: 65 0a 20 20 65 6e 61 62 6c 65 5f 74 6c 73 3d 22  e.  enable_tls="
b810: 30 22 0a 66 69 0a 41 43 5f 53 55 42 53 54 28 5b  0".fi.AC_SUBST([
b820: 65 6e 61 62 6c 65 5f 74 6c 73 5d 29 0a 69 66 20  enable_tls]).if 
b830: 74 65 73 74 20 22 78 24 7b 65 6e 61 62 6c 65 5f  test "x${enable_
b840: 74 6c 73 7d 22 20 3d 20 22 78 31 22 20 3b 20 74  tls}" = "x1" ; t
b850: 68 65 6e 0a 20 20 69 66 20 74 65 73 74 20 22 78  hen.  if test "x
b860: 24 7b 66 6f 72 63 65 5f 74 6c 73 7d 22 20 3d 20  ${force_tls}" = 
b870: 22 78 30 22 20 3b 20 74 68 65 6e 0a 20 20 20 20  "x0" ; then.    
b880: 41 43 5f 4d 53 47 5f 57 41 52 4e 28 5b 54 4c 53  AC_MSG_WARN([TLS
b890: 20 65 6e 61 62 6c 65 64 20 64 65 73 70 69 74 65   enabled despite
b8a0: 20 62 65 69 6e 67 20 6d 61 72 6b 65 64 20 75 6e   being marked un
b8b0: 75 73 61 62 6c 65 20 6f 6e 20 74 68 69 73 20 70  usable on this p
b8c0: 6c 61 74 66 6f 72 6d 5d 29 0a 20 20 66 69 0a 20  latform]).  fi. 
b8d0: 20 41 43 5f 44 45 46 49 4e 45 5f 55 4e 51 55 4f   AC_DEFINE_UNQUO
b8e0: 54 45 44 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 54 4c  TED([JEMALLOC_TL
b8f0: 53 5d 2c 20 5b 20 5d 29 0a 65 6c 69 66 20 74 65  S], [ ]).elif te
b900: 73 74 20 22 78 24 7b 66 6f 72 63 65 5f 74 6c 73  st "x${force_tls
b910: 7d 22 20 3d 20 22 78 31 22 20 3b 20 74 68 65 6e  }" = "x1" ; then
b920: 0a 20 20 41 43 5f 4d 53 47 5f 57 41 52 4e 28 5b  .  AC_MSG_WARN([
b930: 54 4c 53 20 64 69 73 61 62 6c 65 64 20 64 65 73  TLS disabled des
b940: 70 69 74 65 20 62 65 69 6e 67 20 6d 61 72 6b 65  pite being marke
b950: 64 20 63 72 69 74 69 63 61 6c 20 6f 6e 20 74 68  d critical on th
b960: 69 73 20 70 6c 61 74 66 6f 72 6d 5d 29 0a 66 69  is platform]).fi
b970: 0a 0a 64 6e 6c 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ..dnl ==========
b980: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
b990: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
b9a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
b9b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
b9c0: 3d 3d 0a 64 6e 6c 20 43 68 65 63 6b 20 66 6f 72  ==.dnl Check for
b9d0: 20 43 31 31 20 61 74 6f 6d 69 63 73 2e 0a 0a 4a   C11 atomics...J
b9e0: 45 5f 43 4f 4d 50 49 4c 41 42 4c 45 28 5b 43 31  E_COMPILABLE([C1
b9f0: 31 20 61 74 6f 6d 69 63 73 5d 2c 20 5b 0a 23 69  1 atomics], [.#i
ba00: 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68  nclude <stdint.h
ba10: 3e 0a 23 69 66 20 28 5f 5f 53 54 44 43 5f 56 45  >.#if (__STDC_VE
ba20: 52 53 49 4f 4e 5f 5f 20 3e 3d 20 32 30 31 31 31  RSION__ >= 20111
ba30: 32 4c 29 20 26 26 20 21 64 65 66 69 6e 65 64 28  2L) && !defined(
ba40: 5f 5f 53 54 44 43 5f 4e 4f 5f 41 54 4f 4d 49 43  __STDC_NO_ATOMIC
ba50: 53 5f 5f 29 0a 23 69 6e 63 6c 75 64 65 20 3c 73  S__).#include <s
ba60: 74 64 61 74 6f 6d 69 63 2e 68 3e 0a 23 65 6c 73  tdatomic.h>.#els
ba70: 65 0a 23 65 72 72 6f 72 20 41 74 6f 6d 69 63 73  e.#error Atomics
ba80: 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 0a 23   not available.#
ba90: 65 6e 64 69 66 0a 5d 2c 20 5b 0a 20 20 20 20 75  endif.], [.    u
baa0: 69 6e 74 36 34 5f 74 20 2a 70 20 3d 20 28 75 69  int64_t *p = (ui
bab0: 6e 74 36 34 5f 74 20 2a 29 30 3b 0a 20 20 20 20  nt64_t *)0;.    
bac0: 75 69 6e 74 36 34 5f 74 20 78 20 3d 20 31 3b 0a  uint64_t x = 1;.
bad0: 20 20 20 20 76 6f 6c 61 74 69 6c 65 20 61 74 6f      volatile ato
bae0: 6d 69 63 5f 75 69 6e 74 5f 6c 65 61 73 74 36 34  mic_uint_least64
baf0: 5f 74 20 2a 61 20 3d 20 28 76 6f 6c 61 74 69 6c  _t *a = (volatil
bb00: 65 20 61 74 6f 6d 69 63 5f 75 69 6e 74 5f 6c 65  e atomic_uint_le
bb10: 61 73 74 36 34 5f 74 20 2a 29 70 3b 0a 20 20 20  ast64_t *)p;.   
bb20: 20 75 69 6e 74 36 34 5f 74 20 72 20 3d 20 61 74   uint64_t r = at
bb30: 6f 6d 69 63 5f 66 65 74 63 68 5f 61 64 64 28 61  omic_fetch_add(a
bb40: 2c 20 78 29 20 2b 20 78 3b 0a 20 20 20 20 72 65  , x) + x;.    re
bb50: 74 75 72 6e 20 28 72 20 3d 3d 20 30 29 3b 0a 5d  turn (r == 0);.]
bb60: 2c 20 5b 6a 65 5f 63 76 5f 63 31 31 61 74 6f 6d  , [je_cv_c11atom
bb70: 69 63 73 5d 29 0a 69 66 20 74 65 73 74 20 22 78  ics]).if test "x
bb80: 24 7b 6a 65 5f 63 76 5f 63 31 31 61 74 6f 6d 69  ${je_cv_c11atomi
bb90: 63 73 7d 22 20 3d 20 22 78 79 65 73 22 20 3b 20  cs}" = "xyes" ; 
bba0: 74 68 65 6e 0a 20 20 41 43 5f 44 45 46 49 4e 45  then.  AC_DEFINE
bbb0: 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 43 31 31 41 54  ([JEMALLOC_C11AT
bbc0: 4f 4d 49 43 53 5d 29 0a 66 69 0a 0a 64 6e 6c 20  OMICS]).fi..dnl 
bbd0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
bbe0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
bbf0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
bc00: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
bc10: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 64 6e 6c  ============.dnl
bc20: 20 43 68 65 63 6b 20 66 6f 72 20 61 74 6f 6d 69   Check for atomi
bc30: 63 28 39 29 20 6f 70 65 72 61 74 69 6f 6e 73 20  c(9) operations 
bc40: 61 73 20 70 72 6f 76 69 64 65 64 20 6f 6e 20 46  as provided on F
bc50: 72 65 65 42 53 44 2e 0a 0a 4a 45 5f 43 4f 4d 50  reeBSD...JE_COMP
bc60: 49 4c 41 42 4c 45 28 5b 61 74 6f 6d 69 63 28 39  ILABLE([atomic(9
bc70: 29 5d 2c 20 5b 0a 23 69 6e 63 6c 75 64 65 20 3c  )], [.#include <
bc80: 73 79 73 2f 74 79 70 65 73 2e 68 3e 0a 23 69 6e  sys/types.h>.#in
bc90: 63 6c 75 64 65 20 3c 6d 61 63 68 69 6e 65 2f 61  clude <machine/a
bca0: 74 6f 6d 69 63 2e 68 3e 0a 23 69 6e 63 6c 75 64  tomic.h>.#includ
bcb0: 65 20 3c 69 6e 74 74 79 70 65 73 2e 68 3e 0a 5d  e <inttypes.h>.]
bcc0: 2c 20 5b 0a 09 7b 0a 09 09 75 69 6e 74 33 32 5f  , [..{...uint32_
bcd0: 74 20 78 33 32 20 3d 20 30 3b 0a 09 09 76 6f 6c  t x32 = 0;...vol
bce0: 61 74 69 6c 65 20 75 69 6e 74 33 32 5f 74 20 2a  atile uint32_t *
bcf0: 78 33 32 70 20 3d 20 26 78 33 32 3b 0a 09 09 61  x32p = &x32;...a
bd00: 74 6f 6d 69 63 5f 66 65 74 63 68 61 64 64 5f 33  tomic_fetchadd_3
bd10: 32 28 78 33 32 70 2c 20 31 29 3b 0a 09 7d 0a 09  2(x32p, 1);..}..
bd20: 7b 0a 09 09 75 6e 73 69 67 6e 65 64 20 6c 6f 6e  {...unsigned lon
bd30: 67 20 78 6c 6f 6e 67 20 3d 20 30 3b 0a 09 09 76  g xlong = 0;...v
bd40: 6f 6c 61 74 69 6c 65 20 75 6e 73 69 67 6e 65 64  olatile unsigned
bd50: 20 6c 6f 6e 67 20 2a 78 6c 6f 6e 67 70 20 3d 20   long *xlongp = 
bd60: 26 78 6c 6f 6e 67 3b 0a 09 09 61 74 6f 6d 69 63  &xlong;...atomic
bd70: 5f 66 65 74 63 68 61 64 64 5f 6c 6f 6e 67 28 78  _fetchadd_long(x
bd80: 6c 6f 6e 67 70 2c 20 31 29 3b 0a 09 7d 0a 5d 2c  longp, 1);..}.],
bd90: 20 5b 6a 65 5f 63 76 5f 61 74 6f 6d 69 63 39 5d   [je_cv_atomic9]
bda0: 29 0a 69 66 20 74 65 73 74 20 22 78 24 7b 6a 65  ).if test "x${je
bdb0: 5f 63 76 5f 61 74 6f 6d 69 63 39 7d 22 20 3d 20  _cv_atomic9}" = 
bdc0: 22 78 79 65 73 22 20 3b 20 74 68 65 6e 0a 20 20  "xyes" ; then.  
bdd0: 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c  AC_DEFINE([JEMAL
bde0: 4c 4f 43 5f 41 54 4f 4d 49 43 39 5d 29 0a 66 69  LOC_ATOMIC9]).fi
bdf0: 0a 0a 64 6e 6c 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ..dnl ==========
be00: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
be10: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
be20: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
be30: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
be40: 3d 3d 0a 64 6e 6c 20 43 68 65 63 6b 20 66 6f 72  ==.dnl Check for
be50: 20 61 74 6f 6d 69 63 28 33 29 20 6f 70 65 72 61   atomic(3) opera
be60: 74 69 6f 6e 73 20 61 73 20 70 72 6f 76 69 64 65  tions as provide
be70: 64 20 6f 6e 20 44 61 72 77 69 6e 2e 0a 0a 4a 45  d on Darwin...JE
be80: 5f 43 4f 4d 50 49 4c 41 42 4c 45 28 5b 44 61 72  _COMPILABLE([Dar
be90: 77 69 6e 20 4f 53 41 74 6f 6d 69 63 2a 28 29 5d  win OSAtomic*()]
bea0: 2c 20 5b 0a 23 69 6e 63 6c 75 64 65 20 3c 6c 69  , [.#include <li
beb0: 62 6b 65 72 6e 2f 4f 53 41 74 6f 6d 69 63 2e 68  bkern/OSAtomic.h
bec0: 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 69 6e 74 74  >.#include <intt
bed0: 79 70 65 73 2e 68 3e 0a 5d 2c 20 5b 0a 09 7b 0a  ypes.h>.], [..{.
bee0: 09 09 69 6e 74 33 32 5f 74 20 78 33 32 20 3d 20  ..int32_t x32 = 
bef0: 30 3b 0a 09 09 76 6f 6c 61 74 69 6c 65 20 69 6e  0;...volatile in
bf00: 74 33 32 5f 74 20 2a 78 33 32 70 20 3d 20 26 78  t32_t *x32p = &x
bf10: 33 32 3b 0a 09 09 4f 53 41 74 6f 6d 69 63 41 64  32;...OSAtomicAd
bf20: 64 33 32 28 31 2c 20 78 33 32 70 29 3b 0a 09 7d  d32(1, x32p);..}
bf30: 0a 09 7b 0a 09 09 69 6e 74 36 34 5f 74 20 78 36  ..{...int64_t x6
bf40: 34 20 3d 20 30 3b 0a 09 09 76 6f 6c 61 74 69 6c  4 = 0;...volatil
bf50: 65 20 69 6e 74 36 34 5f 74 20 2a 78 36 34 70 20  e int64_t *x64p 
bf60: 3d 20 26 78 36 34 3b 0a 09 09 4f 53 41 74 6f 6d  = &x64;...OSAtom
bf70: 69 63 41 64 64 36 34 28 31 2c 20 78 36 34 70 29  icAdd64(1, x64p)
bf80: 3b 0a 09 7d 0a 5d 2c 20 5b 6a 65 5f 63 76 5f 6f  ;..}.], [je_cv_o
bf90: 73 61 74 6f 6d 69 63 5d 29 0a 69 66 20 74 65 73  satomic]).if tes
bfa0: 74 20 22 78 24 7b 6a 65 5f 63 76 5f 6f 73 61 74  t "x${je_cv_osat
bfb0: 6f 6d 69 63 7d 22 20 3d 20 22 78 79 65 73 22 20  omic}" = "xyes" 
bfc0: 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45 46 49  ; then.  AC_DEFI
bfd0: 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 4f 53 41  NE([JEMALLOC_OSA
bfe0: 54 4f 4d 49 43 5d 2c 20 5b 20 5d 29 0a 66 69 0a  TOMIC], [ ]).fi.
bff0: 0a 64 6e 6c 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  .dnl ===========
c000: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
c010: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
c020: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
c030: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
c040: 3d 0a 64 6e 6c 20 43 68 65 63 6b 20 66 6f 72 20  =.dnl Check for 
c050: 6d 61 64 76 69 73 65 28 32 29 2e 0a 0a 4a 45 5f  madvise(2)...JE_
c060: 43 4f 4d 50 49 4c 41 42 4c 45 28 5b 6d 61 64 76  COMPILABLE([madv
c070: 69 73 65 28 32 29 5d 2c 20 5b 0a 23 69 6e 63 6c  ise(2)], [.#incl
c080: 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68 3e  ude <sys/mman.h>
c090: 0a 5d 2c 20 5b 0a 09 6d 61 64 76 69 73 65 28 28  .], [..madvise((
c0a0: 76 6f 69 64 20 2a 29 30 2c 20 30 2c 20 30 29 3b  void *)0, 0, 0);
c0b0: 0a 5d 2c 20 5b 6a 65 5f 63 76 5f 6d 61 64 76 69  .], [je_cv_madvi
c0c0: 73 65 5d 29 0a 69 66 20 74 65 73 74 20 22 78 24  se]).if test "x$
c0d0: 7b 6a 65 5f 63 76 5f 6d 61 64 76 69 73 65 7d 22  {je_cv_madvise}"
c0e0: 20 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65 6e   = "xyes" ; then
c0f0: 0a 20 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45  .  AC_DEFINE([JE
c100: 4d 41 4c 4c 4f 43 5f 48 41 56 45 5f 4d 41 44 56  MALLOC_HAVE_MADV
c110: 49 53 45 5d 2c 20 5b 20 5d 29 0a 0a 20 20 64 6e  ISE], [ ])..  dn
c120: 6c 20 43 68 65 63 6b 20 66 6f 72 20 6d 61 64 76  l Check for madv
c130: 69 73 65 28 2e 2e 2e 2c 20 4d 41 44 56 5f 46 52  ise(..., MADV_FR
c140: 45 45 29 2e 0a 20 20 4a 45 5f 43 4f 4d 50 49 4c  EE)..  JE_COMPIL
c150: 41 42 4c 45 28 5b 6d 61 64 76 69 73 65 28 2e 2e  ABLE([madvise(..
c160: 2e 2c 20 4d 41 44 56 5f 46 52 45 45 29 5d 2c 20  ., MADV_FREE)], 
c170: 5b 0a 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f  [.#include <sys/
c180: 6d 6d 61 6e 2e 68 3e 0a 5d 2c 20 5b 0a 09 6d 61  mman.h>.], [..ma
c190: 64 76 69 73 65 28 28 76 6f 69 64 20 2a 29 30 2c  dvise((void *)0,
c1a0: 20 30 2c 20 4d 41 44 56 5f 46 52 45 45 29 3b 0a   0, MADV_FREE);.
c1b0: 5d 2c 20 5b 6a 65 5f 63 76 5f 6d 61 64 76 5f 66  ], [je_cv_madv_f
c1c0: 72 65 65 5d 29 0a 20 20 69 66 20 74 65 73 74 20  ree]).  if test 
c1d0: 22 78 24 7b 6a 65 5f 63 76 5f 6d 61 64 76 5f 66  "x${je_cv_madv_f
c1e0: 72 65 65 7d 22 20 3d 20 22 78 79 65 73 22 20 3b  ree}" = "xyes" ;
c1f0: 20 74 68 65 6e 0a 20 20 20 20 41 43 5f 44 45 46   then.    AC_DEF
c200: 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 50 55  INE([JEMALLOC_PU
c210: 52 47 45 5f 4d 41 44 56 49 53 45 5f 46 52 45 45  RGE_MADVISE_FREE
c220: 5d 2c 20 5b 20 5d 29 0a 20 20 66 69 0a 0a 20 20  ], [ ]).  fi..  
c230: 64 6e 6c 20 43 68 65 63 6b 20 66 6f 72 20 6d 61  dnl Check for ma
c240: 64 76 69 73 65 28 2e 2e 2e 2c 20 4d 41 44 56 5f  dvise(..., MADV_
c250: 44 4f 4e 54 4e 45 45 44 29 2e 0a 20 20 4a 45 5f  DONTNEED)..  JE_
c260: 43 4f 4d 50 49 4c 41 42 4c 45 28 5b 6d 61 64 76  COMPILABLE([madv
c270: 69 73 65 28 2e 2e 2e 2c 20 4d 41 44 56 5f 44 4f  ise(..., MADV_DO
c280: 4e 54 4e 45 45 44 29 5d 2c 20 5b 0a 23 69 6e 63  NTNEED)], [.#inc
c290: 6c 75 64 65 20 3c 73 79 73 2f 6d 6d 61 6e 2e 68  lude <sys/mman.h
c2a0: 3e 0a 5d 2c 20 5b 0a 09 6d 61 64 76 69 73 65 28  >.], [..madvise(
c2b0: 28 76 6f 69 64 20 2a 29 30 2c 20 30 2c 20 4d 41  (void *)0, 0, MA
c2c0: 44 56 5f 44 4f 4e 54 4e 45 45 44 29 3b 0a 5d 2c  DV_DONTNEED);.],
c2d0: 20 5b 6a 65 5f 63 76 5f 6d 61 64 76 5f 64 6f 6e   [je_cv_madv_don
c2e0: 74 6e 65 65 64 5d 29 0a 20 20 69 66 20 74 65 73  tneed]).  if tes
c2f0: 74 20 22 78 24 7b 6a 65 5f 63 76 5f 6d 61 64 76  t "x${je_cv_madv
c300: 5f 64 6f 6e 74 6e 65 65 64 7d 22 20 3d 20 22 78  _dontneed}" = "x
c310: 79 65 73 22 20 3b 20 74 68 65 6e 0a 20 20 20 20  yes" ; then.    
c320: 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c  AC_DEFINE([JEMAL
c330: 4c 4f 43 5f 50 55 52 47 45 5f 4d 41 44 56 49 53  LOC_PURGE_MADVIS
c340: 45 5f 44 4f 4e 54 4e 45 45 44 5d 2c 20 5b 20 5d  E_DONTNEED], [ ]
c350: 29 0a 20 20 66 69 0a 0a 20 20 64 6e 6c 20 43 68  ).  fi..  dnl Ch
c360: 65 63 6b 20 66 6f 72 20 6d 61 64 76 69 73 65 28  eck for madvise(
c370: 2e 2e 2e 2c 20 4d 41 44 56 5f 5b 4e 4f 5d 48 55  ..., MADV_[NO]HU
c380: 47 45 50 41 47 45 29 2e 0a 20 20 4a 45 5f 43 4f  GEPAGE)..  JE_CO
c390: 4d 50 49 4c 41 42 4c 45 28 5b 6d 61 64 76 69 73  MPILABLE([madvis
c3a0: 65 28 2e 2e 2e 2c 20 4d 41 44 56 5f 5b 5b 4e 4f  e(..., MADV_[[NO
c3b0: 5d 5d 48 55 47 45 50 41 47 45 29 5d 2c 20 5b 0a  ]]HUGEPAGE)], [.
c3c0: 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 6d 6d  #include <sys/mm
c3d0: 61 6e 2e 68 3e 0a 5d 2c 20 5b 0a 09 6d 61 64 76  an.h>.], [..madv
c3e0: 69 73 65 28 28 76 6f 69 64 20 2a 29 30 2c 20 30  ise((void *)0, 0
c3f0: 2c 20 4d 41 44 56 5f 48 55 47 45 50 41 47 45 29  , MADV_HUGEPAGE)
c400: 3b 0a 09 6d 61 64 76 69 73 65 28 28 76 6f 69 64  ;..madvise((void
c410: 20 2a 29 30 2c 20 30 2c 20 4d 41 44 56 5f 4e 4f   *)0, 0, MADV_NO
c420: 48 55 47 45 50 41 47 45 29 3b 0a 5d 2c 20 5b 6a  HUGEPAGE);.], [j
c430: 65 5f 63 76 5f 74 68 70 5d 29 0a 20 20 69 66 20  e_cv_thp]).  if 
c440: 74 65 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f 74  test "x${je_cv_t
c450: 68 70 7d 22 20 3d 20 22 78 79 65 73 22 20 3b 20  hp}" = "xyes" ; 
c460: 74 68 65 6e 0a 20 20 20 20 41 43 5f 44 45 46 49  then.    AC_DEFI
c470: 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 48 41 56  NE([JEMALLOC_HAV
c480: 45 5f 4d 41 44 56 49 53 45 5f 48 55 47 45 5d 2c  E_MADVISE_HUGE],
c490: 20 5b 20 5d 29 0a 20 20 66 69 0a 66 69 0a 0a 64   [ ]).  fi.fi..d
c4a0: 6e 6c 20 45 6e 61 62 6c 65 20 74 72 61 6e 73 70  nl Enable transp
c4b0: 61 72 65 6e 74 20 68 75 67 65 20 70 61 67 65 20  arent huge page 
c4c0: 73 75 70 70 6f 72 74 20 62 79 20 64 65 66 61 75  support by defau
c4d0: 6c 74 2e 0a 41 43 5f 41 52 47 5f 45 4e 41 42 4c  lt..AC_ARG_ENABL
c4e0: 45 28 5b 74 68 70 5d 2c 0a 20 20 5b 41 53 5f 48  E([thp],.  [AS_H
c4f0: 45 4c 50 5f 53 54 52 49 4e 47 28 5b 2d 2d 64 69  ELP_STRING([--di
c500: 73 61 62 6c 65 2d 74 68 70 5d 2c 0a 20 20 20 20  sable-thp],.    
c510: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 44                [D
c520: 69 73 61 62 6c 65 20 74 72 61 6e 73 70 61 72 65  isable transpare
c530: 6e 74 20 68 75 67 65 20 70 61 67 65 20 73 75 70  nt huge page sup
c540: 70 72 6f 74 5d 29 5d 2c 0a 5b 69 66 20 74 65 73  prot])],.[if tes
c550: 74 20 22 78 24 65 6e 61 62 6c 65 5f 74 68 70 22  t "x$enable_thp"
c560: 20 3d 20 22 78 6e 6f 22 20 2d 6f 20 22 78 24 7b   = "xno" -o "x${
c570: 6a 65 5f 63 76 5f 74 68 70 7d 22 20 21 3d 20 22  je_cv_thp}" != "
c580: 78 79 65 73 22 20 3b 20 74 68 65 6e 0a 20 20 65  xyes" ; then.  e
c590: 6e 61 62 6c 65 5f 74 68 70 3d 22 30 22 0a 65 6c  nable_thp="0".el
c5a0: 73 65 0a 20 20 65 6e 61 62 6c 65 5f 74 68 70 3d  se.  enable_thp=
c5b0: 22 31 22 0a 66 69 0a 5d 2c 0a 5b 69 66 20 74 65  "1".fi.],.[if te
c5c0: 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f 74 68 70  st "x${je_cv_thp
c5d0: 7d 22 20 3d 20 22 78 79 65 73 22 20 3b 20 74 68  }" = "xyes" ; th
c5e0: 65 6e 0a 20 20 65 6e 61 62 6c 65 5f 74 68 70 3d  en.  enable_thp=
c5f0: 22 31 22 0a 65 6c 73 65 0a 20 20 65 6e 61 62 6c  "1".else.  enabl
c600: 65 5f 74 68 70 3d 22 30 22 0a 66 69 0a 5d 29 0a  e_thp="0".fi.]).
c610: 69 66 20 74 65 73 74 20 22 78 24 65 6e 61 62 6c  if test "x$enabl
c620: 65 5f 74 68 70 22 20 3d 20 22 78 31 22 20 3b 20  e_thp" = "x1" ; 
c630: 74 68 65 6e 0a 20 20 41 43 5f 44 45 46 49 4e 45  then.  AC_DEFINE
c640: 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 54 48 50 5d 2c  ([JEMALLOC_THP],
c650: 20 5b 20 5d 29 0a 66 69 0a 41 43 5f 53 55 42 53   [ ]).fi.AC_SUBS
c660: 54 28 5b 65 6e 61 62 6c 65 5f 74 68 70 5d 29 0a  T([enable_thp]).
c670: 0a 64 6e 6c 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  .dnl ===========
c680: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
c690: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
c6a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
c6b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
c6c0: 3d 0a 64 6e 6c 20 43 68 65 63 6b 20 77 68 65 74  =.dnl Check whet
c6d0: 68 65 72 20 5f 5f 73 79 6e 63 5f 7b 61 64 64 2c  her __sync_{add,
c6e0: 73 75 62 7d 5f 61 6e 64 5f 66 65 74 63 68 28 29  sub}_and_fetch()
c6f0: 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 20 64   are available d
c700: 65 73 70 69 74 65 0a 64 6e 6c 20 5f 5f 47 43 43  espite.dnl __GCC
c710: 5f 48 41 56 45 5f 53 59 4e 43 5f 43 4f 4d 50 41  _HAVE_SYNC_COMPA
c720: 52 45 5f 41 4e 44 5f 53 57 41 50 5f 6e 20 6d 61  RE_AND_SWAP_n ma
c730: 63 72 6f 73 20 62 65 69 6e 67 20 75 6e 64 65 66  cros being undef
c740: 69 6e 65 64 2e 0a 0a 41 43 5f 44 45 46 55 4e 28  ined...AC_DEFUN(
c750: 5b 4a 45 5f 53 59 4e 43 5f 43 4f 4d 50 41 52 45  [JE_SYNC_COMPARE
c760: 5f 41 4e 44 5f 53 57 41 50 5f 43 48 45 43 4b 5d  _AND_SWAP_CHECK]
c770: 2c 5b 0a 20 20 41 43 5f 43 41 43 48 45 5f 43 48  ,[.  AC_CACHE_CH
c780: 45 43 4b 28 5b 77 68 65 74 68 65 72 20 74 6f 20  ECK([whether to 
c790: 66 6f 72 63 65 20 24 31 2d 62 69 74 20 5f 5f 73  force $1-bit __s
c7a0: 79 6e 63 5f 7b 61 64 64 2c 73 75 62 7d 5f 61 6e  ync_{add,sub}_an
c7b0: 64 5f 66 65 74 63 68 28 29 5d 2c 0a 20 20 20 20  d_fetch()],.    
c7c0: 20 20 20 20 20 20 20 20 20 20 20 5b 6a 65 5f 63             [je_c
c7d0: 76 5f 73 79 6e 63 5f 63 6f 6d 70 61 72 65 5f 61  v_sync_compare_a
c7e0: 6e 64 5f 73 77 61 70 5f 24 32 5d 2c 0a 20 20 20  nd_swap_$2],.   
c7f0: 20 20 20 20 20 20 20 20 20 20 20 20 5b 41 43 5f              [AC_
c800: 4c 49 4e 4b 5f 49 46 45 4c 53 45 28 5b 41 43 5f  LINK_IFELSE([AC_
c810: 4c 41 4e 47 5f 50 52 4f 47 52 41 4d 28 5b 0a 20  LANG_PROGRAM([. 
c820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c850: 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74  #include <stdint
c860: 2e 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20  .h>.            
c870: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c880: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c890: 20 20 20 20 5d 2c 0a 20 20 20 20 20 20 20 20 20      ],.         
c8a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c8b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c8c0: 20 20 20 20 20 20 20 5b 0a 20 20 20 20 20 20 20         [.       
c8d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c8e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c8f0: 20 20 20 20 20 20 20 20 20 20 23 69 66 6e 64 65            #ifnde
c900: 66 20 5f 5f 47 43 43 5f 48 41 56 45 5f 53 59 4e  f __GCC_HAVE_SYN
c910: 43 5f 43 4f 4d 50 41 52 45 5f 41 4e 44 5f 53 57  C_COMPARE_AND_SW
c920: 41 50 5f 24 32 0a 20 20 20 20 20 20 20 20 20 20  AP_$2.          
c930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c940: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c950: 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20         {.       
c960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c980: 20 20 20 20 20 20 20 20 20 20 20 20 20 75 69 6e               uin
c990: 74 24 31 5f 74 20 78 24 31 20 3d 20 30 3b 0a 20  t$1_t x$1 = 0;. 
c9a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c9b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c9c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
c9d0: 20 20 20 5f 5f 73 79 6e 63 5f 61 64 64 5f 61 6e     __sync_add_an
c9e0: 64 5f 66 65 74 63 68 28 26 78 24 31 2c 20 34 32  d_fetch(&x$1, 42
c9f0: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  );.             
ca00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ca10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ca20: 20 20 20 20 20 20 20 5f 5f 73 79 6e 63 5f 73 75         __sync_su
ca30: 62 5f 61 6e 64 5f 66 65 74 63 68 28 26 78 24 31  b_and_fetch(&x$1
ca40: 2c 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20  , 1);.          
ca50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ca60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ca70: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20         }.       
ca80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ca90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
caa0: 20 20 20 20 20 20 20 20 20 20 23 65 6c 73 65 0a            #else.
cab0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cac0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cad0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cae0: 20 23 65 72 72 6f 72 20 5f 5f 47 43 43 5f 48 41   #error __GCC_HA
caf0: 56 45 5f 53 59 4e 43 5f 43 4f 4d 50 41 52 45 5f  VE_SYNC_COMPARE_
cb00: 41 4e 44 5f 53 57 41 50 5f 24 32 20 69 73 20 64  AND_SWAP_$2 is d
cb10: 65 66 69 6e 65 64 2c 20 6e 6f 20 6e 65 65 64 20  efined, no need 
cb20: 74 6f 20 66 6f 72 63 65 0a 20 20 20 20 20 20 20  to force.       
cb30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cb40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cb50: 20 20 20 20 20 20 20 20 20 20 23 65 6e 64 69 66            #endif
cb60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
cb70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cb80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cb90: 20 5d 29 5d 2c 0a 20 20 20 20 20 20 20 20 20 20   ])],.          
cba0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cbb0: 20 20 20 20 20 5b 6a 65 5f 63 76 5f 73 79 6e 63       [je_cv_sync
cbc0: 5f 63 6f 6d 70 61 72 65 5f 61 6e 64 5f 73 77 61  _compare_and_swa
cbd0: 70 5f 24 32 3d 79 65 73 5d 2c 0a 20 20 20 20 20  p_$2=yes],.     
cbe0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cbf0: 20 20 20 20 20 20 20 20 20 20 5b 6a 65 5f 63 76            [je_cv
cc00: 5f 73 79 6e 63 5f 63 6f 6d 70 61 72 65 5f 61 6e  _sync_compare_an
cc10: 64 5f 73 77 61 70 5f 24 32 3d 6e 6f 5d 29 5d 29  d_swap_$2=no])])
cc20: 0a 0a 20 20 69 66 20 74 65 73 74 20 22 78 24 7b  ..  if test "x${
cc30: 6a 65 5f 63 76 5f 73 79 6e 63 5f 63 6f 6d 70 61  je_cv_sync_compa
cc40: 72 65 5f 61 6e 64 5f 73 77 61 70 5f 24 32 7d 22  re_and_swap_$2}"
cc50: 20 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65 6e   = "xyes" ; then
cc60: 0a 20 20 20 20 41 43 5f 44 45 46 49 4e 45 28 5b  .    AC_DEFINE([
cc70: 4a 45 5f 46 4f 52 43 45 5f 53 59 4e 43 5f 43 4f  JE_FORCE_SYNC_CO
cc80: 4d 50 41 52 45 5f 41 4e 44 5f 53 57 41 50 5f 24  MPARE_AND_SWAP_$
cc90: 32 5d 2c 20 5b 20 5d 29 0a 20 20 66 69 0a 5d 29  2], [ ]).  fi.])
cca0: 0a 0a 69 66 20 74 65 73 74 20 22 78 24 7b 6a 65  ..if test "x${je
ccb0: 5f 63 76 5f 61 74 6f 6d 69 63 39 7d 22 20 21 3d  _cv_atomic9}" !=
ccc0: 20 22 78 79 65 73 22 20 2d 61 20 22 78 24 7b 6a   "xyes" -a "x${j
ccd0: 65 5f 63 76 5f 6f 73 61 74 6f 6d 69 63 7d 22 20  e_cv_osatomic}" 
cce0: 21 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65 6e  != "xyes" ; then
ccf0: 0a 20 20 4a 45 5f 53 59 4e 43 5f 43 4f 4d 50 41  .  JE_SYNC_COMPA
cd00: 52 45 5f 41 4e 44 5f 53 57 41 50 5f 43 48 45 43  RE_AND_SWAP_CHEC
cd10: 4b 28 33 32 2c 20 34 29 0a 20 20 4a 45 5f 53 59  K(32, 4).  JE_SY
cd20: 4e 43 5f 43 4f 4d 50 41 52 45 5f 41 4e 44 5f 53  NC_COMPARE_AND_S
cd30: 57 41 50 5f 43 48 45 43 4b 28 36 34 2c 20 38 29  WAP_CHECK(64, 8)
cd40: 0a 66 69 0a 0a 64 6e 6c 20 3d 3d 3d 3d 3d 3d 3d  .fi..dnl =======
cd50: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
cd60: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
cd70: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
cd80: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
cd90: 3d 3d 3d 3d 3d 0a 64 6e 6c 20 43 68 65 63 6b 20  =====.dnl Check 
cda0: 66 6f 72 20 5f 5f 62 75 69 6c 74 69 6e 5f 63 6c  for __builtin_cl
cdb0: 7a 28 29 20 61 6e 64 20 5f 5f 62 75 69 6c 74 69  z() and __builti
cdc0: 6e 5f 63 6c 7a 6c 28 29 2e 0a 0a 41 43 5f 43 41  n_clzl()...AC_CA
cdd0: 43 48 45 5f 43 48 45 43 4b 28 5b 66 6f 72 20 5f  CHE_CHECK([for _
cde0: 5f 62 75 69 6c 74 69 6e 5f 63 6c 7a 5d 2c 0a 20  _builtin_clz],. 
cdf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 6a                [j
ce00: 65 5f 63 76 5f 62 75 69 6c 74 69 6e 5f 63 6c 7a  e_cv_builtin_clz
ce10: 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ],.             
ce20: 20 20 5b 41 43 5f 4c 49 4e 4b 5f 49 46 45 4c 53    [AC_LINK_IFELS
ce30: 45 28 5b 41 43 5f 4c 41 4e 47 5f 50 52 4f 47 52  E([AC_LANG_PROGR
ce40: 41 4d 28 5b 5d 2c 0a 20 20 20 20 20 20 20 20 20  AM([],.         
ce50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ce60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ce70: 20 20 20 20 20 20 20 5b 0a 20 20 20 20 20 20 20         [.       
ce80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ce90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cea0: 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20           {.     
ceb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cec0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
ced0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cee0: 20 20 20 75 6e 73 69 67 6e 65 64 20 78 20 3d 20     unsigned x = 
cef0: 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  0;.             
cf00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cf10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cf20: 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 79             int y
cf30: 20 3d 20 5f 5f 62 75 69 6c 74 69 6e 5f 63 6c 7a   = __builtin_clz
cf40: 28 78 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20  (x);.           
cf50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cf60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cf70: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20       }.         
cf80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cf90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cfa0: 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20         {.       
cfb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cfc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cfd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
cfe0: 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 78   unsigned long x
cff0: 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20   = 0;.          
d000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e                in
d030: 74 20 79 20 3d 20 5f 5f 62 75 69 6c 74 69 6e 5f  t y = __builtin_
d040: 63 6c 7a 6c 28 78 29 3b 0a 20 20 20 20 20 20 20  clzl(x);.       
d050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d070: 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20           }.     
d080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d0a0: 20 20 20 20 20 20 20 20 20 20 20 5d 29 5d 2c 0a             ])],.
d0b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d0c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b                 [
d0d0: 6a 65 5f 63 76 5f 62 75 69 6c 74 69 6e 5f 63 6c  je_cv_builtin_cl
d0e0: 7a 3d 79 65 73 5d 2c 0a 20 20 20 20 20 20 20 20  z=yes],.        
d0f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
d100: 20 20 20 20 20 20 20 5b 6a 65 5f 63 76 5f 62 75         [je_cv_bu
d110: 69 6c 74 69 6e 5f 63 6c 7a 3d 6e 6f 5d 29 5d 29  iltin_clz=no])])
d120: 0a 0a 69 66 20 74 65 73 74 20 22 78 24 7b 6a 65  ..if test "x${je
d130: 5f 63 76 5f 62 75 69 6c 74 69 6e 5f 63 6c 7a 7d  _cv_builtin_clz}
d140: 22 20 3d 20 22 78 79 65 73 22 20 3b 20 74 68 65  " = "xyes" ; the
d150: 6e 0a 20 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a  n.  AC_DEFINE([J
d160: 45 4d 41 4c 4c 4f 43 5f 48 41 56 45 5f 42 55 49  EMALLOC_HAVE_BUI
d170: 4c 54 49 4e 5f 43 4c 5a 5d 2c 20 5b 20 5d 29 0a  LTIN_CLZ], [ ]).
d180: 66 69 0a 0a 64 6e 6c 20 3d 3d 3d 3d 3d 3d 3d 3d  fi..dnl ========
d190: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d1a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d1b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d1c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d1d0: 3d 3d 3d 3d 0a 64 6e 6c 20 43 68 65 63 6b 20 66  ====.dnl Check f
d1e0: 6f 72 20 6f 73 5f 75 6e 66 61 69 72 5f 6c 6f 63  or os_unfair_loc
d1f0: 6b 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20  k operations as 
d200: 70 72 6f 76 69 64 65 64 20 6f 6e 20 44 61 72 77  provided on Darw
d210: 69 6e 2e 0a 0a 4a 45 5f 43 4f 4d 50 49 4c 41 42  in...JE_COMPILAB
d220: 4c 45 28 5b 44 61 72 77 69 6e 20 6f 73 5f 75 6e  LE([Darwin os_un
d230: 66 61 69 72 5f 6c 6f 63 6b 5f 2a 28 29 5d 2c 20  fair_lock_*()], 
d240: 5b 0a 23 69 6e 63 6c 75 64 65 20 3c 6f 73 2f 6c  [.#include <os/l
d250: 6f 63 6b 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20  ock.h>.#include 
d260: 3c 41 76 61 69 6c 61 62 69 6c 69 74 79 4d 61 63  <AvailabilityMac
d270: 72 6f 73 2e 68 3e 0a 5d 2c 20 5b 0a 09 23 69 66  ros.h>.], [..#if
d280: 20 4d 41 43 5f 4f 53 5f 58 5f 56 45 52 53 49 4f   MAC_OS_X_VERSIO
d290: 4e 5f 4d 49 4e 5f 52 45 51 55 49 52 45 44 20 3c  N_MIN_REQUIRED <
d2a0: 20 31 30 31 32 30 30 0a 09 23 65 72 72 6f 72 20   101200..#error 
d2b0: 22 6f 73 5f 75 6e 66 61 69 72 5f 6c 6f 63 6b 20  "os_unfair_lock 
d2c0: 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64  is not supported
d2d0: 22 0a 09 23 65 6c 73 65 0a 09 6f 73 5f 75 6e 66  "..#else..os_unf
d2e0: 61 69 72 5f 6c 6f 63 6b 20 6c 6f 63 6b 20 3d 20  air_lock lock = 
d2f0: 4f 53 5f 55 4e 46 41 49 52 5f 4c 4f 43 4b 5f 49  OS_UNFAIR_LOCK_I
d300: 4e 49 54 3b 0a 09 6f 73 5f 75 6e 66 61 69 72 5f  NIT;..os_unfair_
d310: 6c 6f 63 6b 5f 6c 6f 63 6b 28 26 6c 6f 63 6b 29  lock_lock(&lock)
d320: 3b 0a 09 6f 73 5f 75 6e 66 61 69 72 5f 6c 6f 63  ;..os_unfair_loc
d330: 6b 5f 75 6e 6c 6f 63 6b 28 26 6c 6f 63 6b 29 3b  k_unlock(&lock);
d340: 0a 09 23 65 6e 64 69 66 0a 5d 2c 20 5b 6a 65 5f  ..#endif.], [je_
d350: 63 76 5f 6f 73 5f 75 6e 66 61 69 72 5f 6c 6f 63  cv_os_unfair_loc
d360: 6b 5d 29 0a 69 66 20 74 65 73 74 20 22 78 24 7b  k]).if test "x${
d370: 6a 65 5f 63 76 5f 6f 73 5f 75 6e 66 61 69 72 5f  je_cv_os_unfair_
d380: 6c 6f 63 6b 7d 22 20 3d 20 22 78 79 65 73 22 20  lock}" = "xyes" 
d390: 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45 46 49  ; then.  AC_DEFI
d3a0: 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 4f 53 5f  NE([JEMALLOC_OS_
d3b0: 55 4e 46 41 49 52 5f 4c 4f 43 4b 5d 2c 20 5b 20  UNFAIR_LOCK], [ 
d3c0: 5d 29 0a 66 69 0a 0a 64 6e 6c 20 3d 3d 3d 3d 3d  ]).fi..dnl =====
d3d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d3e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d3f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d400: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d410: 3d 3d 3d 3d 3d 3d 3d 0a 64 6e 6c 20 43 68 65 63  =======.dnl Chec
d420: 6b 20 66 6f 72 20 73 70 69 6e 6c 6f 63 6b 28 33  k for spinlock(3
d430: 29 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20  ) operations as 
d440: 70 72 6f 76 69 64 65 64 20 6f 6e 20 44 61 72 77  provided on Darw
d450: 69 6e 2e 0a 0a 4a 45 5f 43 4f 4d 50 49 4c 41 42  in...JE_COMPILAB
d460: 4c 45 28 5b 44 61 72 77 69 6e 20 4f 53 53 70 69  LE([Darwin OSSpi
d470: 6e 2a 28 29 5d 2c 20 5b 0a 23 69 6e 63 6c 75 64  n*()], [.#includ
d480: 65 20 3c 6c 69 62 6b 65 72 6e 2f 4f 53 41 74 6f  e <libkern/OSAto
d490: 6d 69 63 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20  mic.h>.#include 
d4a0: 3c 69 6e 74 74 79 70 65 73 2e 68 3e 0a 5d 2c 20  <inttypes.h>.], 
d4b0: 5b 0a 09 4f 53 53 70 69 6e 4c 6f 63 6b 20 6c 6f  [..OSSpinLock lo
d4c0: 63 6b 20 3d 20 30 3b 0a 09 4f 53 53 70 69 6e 4c  ck = 0;..OSSpinL
d4d0: 6f 63 6b 4c 6f 63 6b 28 26 6c 6f 63 6b 29 3b 0a  ockLock(&lock);.
d4e0: 09 4f 53 53 70 69 6e 4c 6f 63 6b 55 6e 6c 6f 63  .OSSpinLockUnloc
d4f0: 6b 28 26 6c 6f 63 6b 29 3b 0a 5d 2c 20 5b 6a 65  k(&lock);.], [je
d500: 5f 63 76 5f 6f 73 73 70 69 6e 5d 29 0a 69 66 20  _cv_osspin]).if 
d510: 74 65 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f 6f  test "x${je_cv_o
d520: 73 73 70 69 6e 7d 22 20 3d 20 22 78 79 65 73 22  sspin}" = "xyes"
d530: 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45 46   ; then.  AC_DEF
d540: 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 4f 53  INE([JEMALLOC_OS
d550: 53 50 49 4e 5d 2c 20 5b 20 5d 29 0a 66 69 0a 0a  SPIN], [ ]).fi..
d560: 64 6e 6c 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  dnl ============
d570: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d580: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d590: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d5a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d5b0: 0a 64 6e 6c 20 44 61 72 77 69 6e 2d 72 65 6c 61  .dnl Darwin-rela
d5c0: 74 65 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  ted configuratio
d5d0: 6e 2e 0a 0a 41 43 5f 41 52 47 5f 45 4e 41 42 4c  n...AC_ARG_ENABL
d5e0: 45 28 5b 7a 6f 6e 65 2d 61 6c 6c 6f 63 61 74 6f  E([zone-allocato
d5f0: 72 5d 2c 0a 20 20 5b 41 53 5f 48 45 4c 50 5f 53  r],.  [AS_HELP_S
d600: 54 52 49 4e 47 28 5b 2d 2d 64 69 73 61 62 6c 65  TRING([--disable
d610: 2d 7a 6f 6e 65 2d 61 6c 6c 6f 63 61 74 6f 72 5d  -zone-allocator]
d620: 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ,.              
d630: 20 20 20 20 5b 44 69 73 61 62 6c 65 20 7a 6f 6e      [Disable zon
d640: 65 20 61 6c 6c 6f 63 61 74 6f 72 20 66 6f 72 20  e allocator for 
d650: 44 61 72 77 69 6e 5d 29 5d 2c 0a 5b 69 66 20 74  Darwin])],.[if t
d660: 65 73 74 20 22 78 24 65 6e 61 62 6c 65 5f 7a 6f  est "x$enable_zo
d670: 6e 65 5f 61 6c 6c 6f 63 61 74 6f 72 22 20 3d 20  ne_allocator" = 
d680: 22 78 6e 6f 22 20 3b 20 74 68 65 6e 0a 20 20 65  "xno" ; then.  e
d690: 6e 61 62 6c 65 5f 7a 6f 6e 65 5f 61 6c 6c 6f 63  nable_zone_alloc
d6a0: 61 74 6f 72 3d 22 30 22 0a 65 6c 73 65 0a 20 20  ator="0".else.  
d6b0: 65 6e 61 62 6c 65 5f 7a 6f 6e 65 5f 61 6c 6c 6f  enable_zone_allo
d6c0: 63 61 74 6f 72 3d 22 31 22 0a 66 69 0a 5d 2c 0a  cator="1".fi.],.
d6d0: 5b 69 66 20 74 65 73 74 20 22 78 24 7b 61 62 69  [if test "x${abi
d6e0: 7d 22 20 3d 20 22 78 6d 61 63 68 6f 22 3b 20 74  }" = "xmacho"; t
d6f0: 68 65 6e 0a 20 20 65 6e 61 62 6c 65 5f 7a 6f 6e  hen.  enable_zon
d700: 65 5f 61 6c 6c 6f 63 61 74 6f 72 3d 22 31 22 0a  e_allocator="1".
d710: 66 69 0a 5d 0a 29 0a 41 43 5f 53 55 42 53 54 28  fi.].).AC_SUBST(
d720: 5b 65 6e 61 62 6c 65 5f 7a 6f 6e 65 5f 61 6c 6c  [enable_zone_all
d730: 6f 63 61 74 6f 72 5d 29 0a 0a 69 66 20 74 65 73  ocator])..if tes
d740: 74 20 22 78 24 7b 65 6e 61 62 6c 65 5f 7a 6f 6e  t "x${enable_zon
d750: 65 5f 61 6c 6c 6f 63 61 74 6f 72 7d 22 20 3d 20  e_allocator}" = 
d760: 22 78 31 22 20 3b 20 74 68 65 6e 0a 20 20 69 66  "x1" ; then.  if
d770: 20 74 65 73 74 20 22 78 24 7b 61 62 69 7d 22 20   test "x${abi}" 
d780: 21 3d 20 22 78 6d 61 63 68 6f 22 3b 20 74 68 65  != "xmacho"; the
d790: 6e 0a 20 20 20 20 41 43 5f 4d 53 47 5f 45 52 52  n.    AC_MSG_ERR
d7a0: 4f 52 28 5b 2d 2d 65 6e 61 62 6c 65 2d 7a 6f 6e  OR([--enable-zon
d7b0: 65 2d 61 6c 6c 6f 63 61 74 6f 72 20 69 73 20 6f  e-allocator is o
d7c0: 6e 6c 79 20 73 75 70 70 6f 72 74 65 64 20 6f 6e  nly supported on
d7d0: 20 44 61 72 77 69 6e 5d 29 0a 20 20 66 69 0a 20   Darwin]).  fi. 
d7e0: 20 41 43 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41   AC_DEFINE([JEMA
d7f0: 4c 4c 4f 43 5f 5a 4f 4e 45 5d 2c 20 5b 20 5d 29  LLOC_ZONE], [ ])
d800: 0a 66 69 0a 0a 64 6e 6c 20 3d 3d 3d 3d 3d 3d 3d  .fi..dnl =======
d810: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d820: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d830: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d840: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
d850: 3d 3d 3d 3d 3d 0a 64 6e 6c 20 43 68 65 63 6b 20  =====.dnl Check 
d860: 66 6f 72 20 67 6c 69 62 63 20 6d 61 6c 6c 6f 63  for glibc malloc
d870: 20 68 6f 6f 6b 73 0a 0a 4a 45 5f 43 4f 4d 50 49   hooks..JE_COMPI
d880: 4c 41 42 4c 45 28 5b 67 6c 69 62 63 20 6d 61 6c  LABLE([glibc mal
d890: 6c 6f 63 20 68 6f 6f 6b 5d 2c 20 5b 0a 23 69 6e  loc hook], [.#in
d8a0: 63 6c 75 64 65 20 3c 73 74 64 64 65 66 2e 68 3e  clude <stddef.h>
d8b0: 0a 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 28 2a  ..extern void (*
d8c0: 20 5f 5f 66 72 65 65 5f 68 6f 6f 6b 29 28 76 6f   __free_hook)(vo
d8d0: 69 64 20 2a 70 74 72 29 3b 0a 65 78 74 65 72 6e  id *ptr);.extern
d8e0: 20 76 6f 69 64 20 2a 28 2a 20 5f 5f 6d 61 6c 6c   void *(* __mall
d8f0: 6f 63 5f 68 6f 6f 6b 29 28 73 69 7a 65 5f 74 20  oc_hook)(size_t 
d900: 73 69 7a 65 29 3b 0a 65 78 74 65 72 6e 20 76 6f  size);.extern vo
d910: 69 64 20 2a 28 2a 20 5f 5f 72 65 61 6c 6c 6f 63  id *(* __realloc
d920: 5f 68 6f 6f 6b 29 28 76 6f 69 64 20 2a 70 74 72  _hook)(void *ptr
d930: 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 29 3b 0a  , size_t size);.
d940: 5d 2c 20 5b 0a 20 20 76 6f 69 64 20 2a 70 74 72  ], [.  void *ptr
d950: 20 3d 20 30 4c 3b 0a 20 20 69 66 20 28 5f 5f 6d   = 0L;.  if (__m
d960: 61 6c 6c 6f 63 5f 68 6f 6f 6b 29 20 70 74 72 20  alloc_hook) ptr 
d970: 3d 20 5f 5f 6d 61 6c 6c 6f 63 5f 68 6f 6f 6b 28  = __malloc_hook(
d980: 31 29 3b 0a 20 20 69 66 20 28 5f 5f 72 65 61 6c  1);.  if (__real
d990: 6c 6f 63 5f 68 6f 6f 6b 29 20 70 74 72 20 3d 20  loc_hook) ptr = 
d9a0: 5f 5f 72 65 61 6c 6c 6f 63 5f 68 6f 6f 6b 28 70  __realloc_hook(p
d9b0: 74 72 2c 20 32 29 3b 0a 20 20 69 66 20 28 5f 5f  tr, 2);.  if (__
d9c0: 66 72 65 65 5f 68 6f 6f 6b 20 26 26 20 70 74 72  free_hook && ptr
d9d0: 29 20 5f 5f 66 72 65 65 5f 68 6f 6f 6b 28 70 74  ) __free_hook(pt
d9e0: 72 29 3b 0a 5d 2c 20 5b 6a 65 5f 63 76 5f 67 6c  r);.], [je_cv_gl
d9f0: 69 62 63 5f 6d 61 6c 6c 6f 63 5f 68 6f 6f 6b 5d  ibc_malloc_hook]
da00: 29 0a 69 66 20 74 65 73 74 20 22 78 24 7b 6a 65  ).if test "x${je
da10: 5f 63 76 5f 67 6c 69 62 63 5f 6d 61 6c 6c 6f 63  _cv_glibc_malloc
da20: 5f 68 6f 6f 6b 7d 22 20 3d 20 22 78 79 65 73 22  _hook}" = "xyes"
da30: 20 3b 20 74 68 65 6e 0a 20 20 41 43 5f 44 45 46   ; then.  AC_DEF
da40: 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 47 4c  INE([JEMALLOC_GL
da50: 49 42 43 5f 4d 41 4c 4c 4f 43 5f 48 4f 4f 4b 5d  IBC_MALLOC_HOOK]
da60: 2c 20 5b 20 5d 29 0a 66 69 0a 0a 4a 45 5f 43 4f  , [ ]).fi..JE_CO
da70: 4d 50 49 4c 41 42 4c 45 28 5b 67 6c 69 62 63 20  MPILABLE([glibc 
da80: 6d 65 6d 61 6c 69 67 6e 20 68 6f 6f 6b 5d 2c 20  memalign hook], 
da90: 5b 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 64  [.#include <stdd
daa0: 65 66 2e 68 3e 0a 0a 65 78 74 65 72 6e 20 76 6f  ef.h>..extern vo
dab0: 69 64 20 2a 28 2a 20 5f 5f 6d 65 6d 61 6c 69 67  id *(* __memalig
dac0: 6e 5f 68 6f 6f 6b 29 28 73 69 7a 65 5f 74 20 61  n_hook)(size_t a
dad0: 6c 69 67 6e 6d 65 6e 74 2c 20 73 69 7a 65 5f 74  lignment, size_t
dae0: 20 73 69 7a 65 29 3b 0a 5d 2c 20 5b 0a 20 20 76   size);.], [.  v
daf0: 6f 69 64 20 2a 70 74 72 20 3d 20 30 4c 3b 0a 20  oid *ptr = 0L;. 
db00: 20 69 66 20 28 5f 5f 6d 65 6d 61 6c 69 67 6e 5f   if (__memalign_
db10: 68 6f 6f 6b 29 20 70 74 72 20 3d 20 5f 5f 6d 65  hook) ptr = __me
db20: 6d 61 6c 69 67 6e 5f 68 6f 6f 6b 28 31 36 2c 20  malign_hook(16, 
db30: 37 29 3b 0a 5d 2c 20 5b 6a 65 5f 63 76 5f 67 6c  7);.], [je_cv_gl
db40: 69 62 63 5f 6d 65 6d 61 6c 69 67 6e 5f 68 6f 6f  ibc_memalign_hoo
db50: 6b 5d 29 0a 69 66 20 74 65 73 74 20 22 78 24 7b  k]).if test "x${
db60: 6a 65 5f 63 76 5f 67 6c 69 62 63 5f 6d 65 6d 61  je_cv_glibc_mema
db70: 6c 69 67 6e 5f 68 6f 6f 6b 7d 22 20 3d 20 22 78  lign_hook}" = "x
db80: 79 65 73 22 20 3b 20 74 68 65 6e 0a 20 20 41 43  yes" ; then.  AC
db90: 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f  _DEFINE([JEMALLO
dba0: 43 5f 47 4c 49 42 43 5f 4d 45 4d 41 4c 49 47 4e  C_GLIBC_MEMALIGN
dbb0: 5f 48 4f 4f 4b 5d 2c 20 5b 20 5d 29 0a 66 69 0a  _HOOK], [ ]).fi.
dbc0: 0a 4a 45 5f 43 4f 4d 50 49 4c 41 42 4c 45 28 5b  .JE_COMPILABLE([
dbd0: 70 74 68 72 65 61 64 73 20 61 64 61 70 74 69 76  pthreads adaptiv
dbe0: 65 20 6d 75 74 65 78 65 73 5d 2c 20 5b 0a 23 69  e mutexes], [.#i
dbf0: 6e 63 6c 75 64 65 20 3c 70 74 68 72 65 61 64 2e  nclude <pthread.
dc00: 68 3e 0a 5d 2c 20 5b 0a 20 20 70 74 68 72 65 61  h>.], [.  pthrea
dc10: 64 5f 6d 75 74 65 78 61 74 74 72 5f 74 20 61 74  d_mutexattr_t at
dc20: 74 72 3b 0a 20 20 70 74 68 72 65 61 64 5f 6d 75  tr;.  pthread_mu
dc30: 74 65 78 61 74 74 72 5f 69 6e 69 74 28 26 61 74  texattr_init(&at
dc40: 74 72 29 3b 0a 20 20 70 74 68 72 65 61 64 5f 6d  tr);.  pthread_m
dc50: 75 74 65 78 61 74 74 72 5f 73 65 74 74 79 70 65  utexattr_settype
dc60: 28 26 61 74 74 72 2c 20 50 54 48 52 45 41 44 5f  (&attr, PTHREAD_
dc70: 4d 55 54 45 58 5f 41 44 41 50 54 49 56 45 5f 4e  MUTEX_ADAPTIVE_N
dc80: 50 29 3b 0a 20 20 70 74 68 72 65 61 64 5f 6d 75  P);.  pthread_mu
dc90: 74 65 78 61 74 74 72 5f 64 65 73 74 72 6f 79 28  texattr_destroy(
dca0: 26 61 74 74 72 29 3b 0a 5d 2c 20 5b 6a 65 5f 63  &attr);.], [je_c
dcb0: 76 5f 70 74 68 72 65 61 64 5f 6d 75 74 65 78 5f  v_pthread_mutex_
dcc0: 61 64 61 70 74 69 76 65 5f 6e 70 5d 29 0a 69 66  adaptive_np]).if
dcd0: 20 74 65 73 74 20 22 78 24 7b 6a 65 5f 63 76 5f   test "x${je_cv_
dce0: 70 74 68 72 65 61 64 5f 6d 75 74 65 78 5f 61 64  pthread_mutex_ad
dcf0: 61 70 74 69 76 65 5f 6e 70 7d 22 20 3d 20 22 78  aptive_np}" = "x
dd00: 79 65 73 22 20 3b 20 74 68 65 6e 0a 20 20 41 43  yes" ; then.  AC
dd10: 5f 44 45 46 49 4e 45 28 5b 4a 45 4d 41 4c 4c 4f  _DEFINE([JEMALLO
dd20: 43 5f 48 41 56 45 5f 50 54 48 52 45 41 44 5f 4d  C_HAVE_PTHREAD_M
dd30: 55 54 45 58 5f 41 44 41 50 54 49 56 45 5f 4e 50  UTEX_ADAPTIVE_NP
dd40: 5d 2c 20 5b 20 5d 29 0a 66 69 0a 0a 64 6e 6c 20  ], [ ]).fi..dnl 
dd50: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
dd60: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
dd70: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
dd80: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
dd90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 64 6e 6c  ============.dnl
dda0: 20 43 68 65 63 6b 20 66 6f 72 20 74 79 70 65 64   Check for typed
ddb0: 65 66 73 2c 20 73 74 72 75 63 74 75 72 65 73 2c  efs, structures,
ddc0: 20 61 6e 64 20 63 6f 6d 70 69 6c 65 72 20 63 68   and compiler ch
ddd0: 61 72 61 63 74 65 72 69 73 74 69 63 73 2e 0a 41  aracteristics..A
dde0: 43 5f 48 45 41 44 45 52 5f 53 54 44 42 4f 4f 4c  C_HEADER_STDBOOL
ddf0: 0a 0a 64 6e 6c 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ..dnl ==========
de00: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
de10: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
de20: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
de30: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
de40: 3d 3d 0a 64 6e 6c 20 44 65 66 69 6e 65 20 63 6f  ==.dnl Define co
de50: 6d 6d 61 6e 64 73 20 74 68 61 74 20 67 65 6e 65  mmands that gene
de60: 72 61 74 65 20 6f 75 74 70 75 74 20 66 69 6c 65  rate output file
de70: 73 2e 0a 0a 41 43 5f 43 4f 4e 46 49 47 5f 43 4f  s...AC_CONFIG_CO
de80: 4d 4d 41 4e 44 53 28 5b 69 6e 63 6c 75 64 65 2f  MMANDS([include/
de90: 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61  jemalloc/interna
dea0: 6c 2f 70 72 69 76 61 74 65 5f 6e 61 6d 65 73 70  l/private_namesp
deb0: 61 63 65 2e 68 5d 2c 20 5b 0a 20 20 6d 6b 64 69  ace.h], [.  mkdi
dec0: 72 20 2d 70 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d  r -p "${objroot}
ded0: 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63  include/jemalloc
dee0: 2f 69 6e 74 65 72 6e 61 6c 22 0a 20 20 22 24 7b  /internal".  "${
def0: 73 72 63 64 69 72 7d 2f 69 6e 63 6c 75 64 65 2f  srcdir}/include/
df00: 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61  jemalloc/interna
df10: 6c 2f 70 72 69 76 61 74 65 5f 6e 61 6d 65 73 70  l/private_namesp
df20: 61 63 65 2e 73 68 22 20 22 24 7b 73 72 63 64 69  ace.sh" "${srcdi
df30: 72 7d 2f 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c  r}/include/jemal
df40: 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c 2f 70 72 69  loc/internal/pri
df50: 76 61 74 65 5f 73 79 6d 62 6f 6c 73 2e 74 78 74  vate_symbols.txt
df60: 22 20 3e 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 69  " > "${objroot}i
df70: 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f  nclude/jemalloc/
df80: 69 6e 74 65 72 6e 61 6c 2f 70 72 69 76 61 74 65  internal/private
df90: 5f 6e 61 6d 65 73 70 61 63 65 2e 68 22 0a 5d 2c  _namespace.h".],
dfa0: 20 5b 0a 20 20 73 72 63 64 69 72 3d 22 24 7b 73   [.  srcdir="${s
dfb0: 72 63 64 69 72 7d 22 0a 20 20 6f 62 6a 72 6f 6f  rcdir}".  objroo
dfc0: 74 3d 22 24 7b 6f 62 6a 72 6f 6f 74 7d 22 0a 5d  t="${objroot}".]
dfd0: 29 0a 41 43 5f 43 4f 4e 46 49 47 5f 43 4f 4d 4d  ).AC_CONFIG_COMM
dfe0: 41 4e 44 53 28 5b 69 6e 63 6c 75 64 65 2f 6a 65  ANDS([include/je
dff0: 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c 2f  malloc/internal/
e000: 70 72 69 76 61 74 65 5f 75 6e 6e 61 6d 65 73 70  private_unnamesp
e010: 61 63 65 2e 68 5d 2c 20 5b 0a 20 20 6d 6b 64 69  ace.h], [.  mkdi
e020: 72 20 2d 70 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d  r -p "${objroot}
e030: 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63  include/jemalloc
e040: 2f 69 6e 74 65 72 6e 61 6c 22 0a 20 20 22 24 7b  /internal".  "${
e050: 73 72 63 64 69 72 7d 2f 69 6e 63 6c 75 64 65 2f  srcdir}/include/
e060: 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61  jemalloc/interna
e070: 6c 2f 70 72 69 76 61 74 65 5f 75 6e 6e 61 6d 65  l/private_unname
e080: 73 70 61 63 65 2e 73 68 22 20 22 24 7b 73 72 63  space.sh" "${src
e090: 64 69 72 7d 2f 69 6e 63 6c 75 64 65 2f 6a 65 6d  dir}/include/jem
e0a0: 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c 2f 70  alloc/internal/p
e0b0: 72 69 76 61 74 65 5f 73 79 6d 62 6f 6c 73 2e 74  rivate_symbols.t
e0c0: 78 74 22 20 3e 20 22 24 7b 6f 62 6a 72 6f 6f 74  xt" > "${objroot
e0d0: 7d 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f  }include/jemallo
e0e0: 63 2f 69 6e 74 65 72 6e 61 6c 2f 70 72 69 76 61  c/internal/priva
e0f0: 74 65 5f 75 6e 6e 61 6d 65 73 70 61 63 65 2e 68  te_unnamespace.h
e100: 22 0a 5d 2c 20 5b 0a 20 20 73 72 63 64 69 72 3d  ".], [.  srcdir=
e110: 22 24 7b 73 72 63 64 69 72 7d 22 0a 20 20 6f 62  "${srcdir}".  ob
e120: 6a 72 6f 6f 74 3d 22 24 7b 6f 62 6a 72 6f 6f 74  jroot="${objroot
e130: 7d 22 0a 5d 29 0a 41 43 5f 43 4f 4e 46 49 47 5f  }".]).AC_CONFIG_
e140: 43 4f 4d 4d 41 4e 44 53 28 5b 69 6e 63 6c 75 64  COMMANDS([includ
e150: 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72  e/jemalloc/inter
e160: 6e 61 6c 2f 70 75 62 6c 69 63 5f 73 79 6d 62 6f  nal/public_symbo
e170: 6c 73 2e 74 78 74 5d 2c 20 5b 0a 20 20 66 3d 22  ls.txt], [.  f="
e180: 24 7b 6f 62 6a 72 6f 6f 74 7d 69 6e 63 6c 75 64  ${objroot}includ
e190: 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72  e/jemalloc/inter
e1a0: 6e 61 6c 2f 70 75 62 6c 69 63 5f 73 79 6d 62 6f  nal/public_symbo
e1b0: 6c 73 2e 74 78 74 22 0a 20 20 6d 6b 64 69 72 20  ls.txt".  mkdir 
e1c0: 2d 70 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 69 6e  -p "${objroot}in
e1d0: 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69  clude/jemalloc/i
e1e0: 6e 74 65 72 6e 61 6c 22 0a 20 20 63 70 20 2f 64  nternal".  cp /d
e1f0: 65 76 2f 6e 75 6c 6c 20 22 24 7b 66 7d 22 0a 20  ev/null "${f}". 
e200: 20 66 6f 72 20 6e 6d 20 69 6e 20 60 65 63 68 6f   for nm in `echo
e210: 20 24 7b 6d 61 6e 67 6c 69 6e 67 5f 6d 61 70 7d   ${mangling_map}
e220: 20 7c 74 72 20 27 2c 27 20 27 20 27 60 20 3b 20   |tr ',' ' '` ; 
e230: 64 6f 0a 20 20 20 20 6e 3d 60 65 63 68 6f 20 24  do.    n=`echo $
e240: 7b 6e 6d 7d 20 7c 74 72 20 27 3a 27 20 27 20 27  {nm} |tr ':' ' '
e250: 20 7c 61 77 6b 20 27 7b 70 72 69 6e 74 20 24 5b   |awk '{print $[
e260: 5d 31 7d 27 60 0a 20 20 20 20 6d 3d 60 65 63 68  ]1}'`.    m=`ech
e270: 6f 20 24 7b 6e 6d 7d 20 7c 74 72 20 27 3a 27 20  o ${nm} |tr ':' 
e280: 27 20 27 20 7c 61 77 6b 20 27 7b 70 72 69 6e 74  ' ' |awk '{print
e290: 20 24 5b 5d 32 7d 27 60 0a 20 20 20 20 65 63 68   $[]2}'`.    ech
e2a0: 6f 20 22 24 7b 6e 7d 3a 24 7b 6d 7d 22 20 3e 3e  o "${n}:${m}" >>
e2b0: 20 22 24 7b 66 7d 22 0a 20 20 20 20 64 6e 6c 20   "${f}".    dnl 
e2c0: 52 65 6d 6f 76 65 20 6e 61 6d 65 20 66 72 6f 6d  Remove name from
e2d0: 20 70 75 62 6c 69 63 5f 73 79 6d 73 20 73 6f 20   public_syms so 
e2e0: 74 68 61 74 20 69 74 20 69 73 6e 27 74 20 72 65  that it isn't re
e2f0: 64 65 66 69 6e 65 64 20 6c 61 74 65 72 2e 0a 20  defined later.. 
e300: 20 20 20 70 75 62 6c 69 63 5f 73 79 6d 73 3d 60     public_syms=`
e310: 66 6f 72 20 73 79 6d 20 69 6e 20 24 7b 70 75 62  for sym in ${pub
e320: 6c 69 63 5f 73 79 6d 73 7d 3b 20 64 6f 20 65 63  lic_syms}; do ec
e330: 68 6f 20 22 24 7b 73 79 6d 7d 22 3b 20 64 6f 6e  ho "${sym}"; don
e340: 65 20 7c 67 72 65 70 20 2d 76 20 22 5e 24 7b 6e  e |grep -v "^${n
e350: 7d 5c 24 22 20 7c 74 72 20 27 5c 6e 27 20 27 20  }\$" |tr '\n' ' 
e360: 27 60 0a 20 20 64 6f 6e 65 0a 20 20 66 6f 72 20  '`.  done.  for 
e370: 73 79 6d 20 69 6e 20 24 7b 70 75 62 6c 69 63 5f  sym in ${public_
e380: 73 79 6d 73 7d 20 3b 20 64 6f 0a 20 20 20 20 6e  syms} ; do.    n
e390: 3d 22 24 7b 73 79 6d 7d 22 0a 20 20 20 20 6d 3d  ="${sym}".    m=
e3a0: 22 24 7b 4a 45 4d 41 4c 4c 4f 43 5f 50 52 45 46  "${JEMALLOC_PREF
e3b0: 49 58 7d 24 7b 73 79 6d 7d 22 0a 20 20 20 20 65  IX}${sym}".    e
e3c0: 63 68 6f 20 22 24 7b 6e 7d 3a 24 7b 6d 7d 22 20  cho "${n}:${m}" 
e3d0: 3e 3e 20 22 24 7b 66 7d 22 0a 20 20 64 6f 6e 65  >> "${f}".  done
e3e0: 0a 5d 2c 20 5b 0a 20 20 73 72 63 64 69 72 3d 22  .], [.  srcdir="
e3f0: 24 7b 73 72 63 64 69 72 7d 22 0a 20 20 6f 62 6a  ${srcdir}".  obj
e400: 72 6f 6f 74 3d 22 24 7b 6f 62 6a 72 6f 6f 74 7d  root="${objroot}
e410: 22 0a 20 20 6d 61 6e 67 6c 69 6e 67 5f 6d 61 70  ".  mangling_map
e420: 3d 22 24 7b 6d 61 6e 67 6c 69 6e 67 5f 6d 61 70  ="${mangling_map
e430: 7d 22 0a 20 20 70 75 62 6c 69 63 5f 73 79 6d 73  }".  public_syms
e440: 3d 22 24 7b 70 75 62 6c 69 63 5f 73 79 6d 73 7d  ="${public_syms}
e450: 22 0a 20 20 4a 45 4d 41 4c 4c 4f 43 5f 50 52 45  ".  JEMALLOC_PRE
e460: 46 49 58 3d 22 24 7b 4a 45 4d 41 4c 4c 4f 43 5f  FIX="${JEMALLOC_
e470: 50 52 45 46 49 58 7d 22 0a 5d 29 0a 41 43 5f 43  PREFIX}".]).AC_C
e480: 4f 4e 46 49 47 5f 43 4f 4d 4d 41 4e 44 53 28 5b  ONFIG_COMMANDS([
e490: 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63  include/jemalloc
e4a0: 2f 69 6e 74 65 72 6e 61 6c 2f 70 75 62 6c 69 63  /internal/public
e4b0: 5f 6e 61 6d 65 73 70 61 63 65 2e 68 5d 2c 20 5b  _namespace.h], [
e4c0: 0a 20 20 6d 6b 64 69 72 20 2d 70 20 22 24 7b 6f  .  mkdir -p "${o
e4d0: 62 6a 72 6f 6f 74 7d 69 6e 63 6c 75 64 65 2f 6a  bjroot}include/j
e4e0: 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c  emalloc/internal
e4f0: 22 0a 20 20 22 24 7b 73 72 63 64 69 72 7d 2f 69  ".  "${srcdir}/i
e500: 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f  nclude/jemalloc/
e510: 69 6e 74 65 72 6e 61 6c 2f 70 75 62 6c 69 63 5f  internal/public_
e520: 6e 61 6d 65 73 70 61 63 65 2e 73 68 22 20 22 24  namespace.sh" "$
e530: 7b 6f 62 6a 72 6f 6f 74 7d 69 6e 63 6c 75 64 65  {objroot}include
e540: 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e  /jemalloc/intern
e550: 61 6c 2f 70 75 62 6c 69 63 5f 73 79 6d 62 6f 6c  al/public_symbol
e560: 73 2e 74 78 74 22 20 3e 20 22 24 7b 6f 62 6a 72  s.txt" > "${objr
e570: 6f 6f 74 7d 69 6e 63 6c 75 64 65 2f 6a 65 6d 61  oot}include/jema
e580: 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c 2f 70 75  lloc/internal/pu
e590: 62 6c 69 63 5f 6e 61 6d 65 73 70 61 63 65 2e 68  blic_namespace.h
e5a0: 22 0a 5d 2c 20 5b 0a 20 20 73 72 63 64 69 72 3d  ".], [.  srcdir=
e5b0: 22 24 7b 73 72 63 64 69 72 7d 22 0a 20 20 6f 62  "${srcdir}".  ob
e5c0: 6a 72 6f 6f 74 3d 22 24 7b 6f 62 6a 72 6f 6f 74  jroot="${objroot
e5d0: 7d 22 0a 5d 29 0a 41 43 5f 43 4f 4e 46 49 47 5f  }".]).AC_CONFIG_
e5e0: 43 4f 4d 4d 41 4e 44 53 28 5b 69 6e 63 6c 75 64  COMMANDS([includ
e5f0: 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72  e/jemalloc/inter
e600: 6e 61 6c 2f 70 75 62 6c 69 63 5f 75 6e 6e 61 6d  nal/public_unnam
e610: 65 73 70 61 63 65 2e 68 5d 2c 20 5b 0a 20 20 6d  espace.h], [.  m
e620: 6b 64 69 72 20 2d 70 20 22 24 7b 6f 62 6a 72 6f  kdir -p "${objro
e630: 6f 74 7d 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c  ot}include/jemal
e640: 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c 22 0a 20 20  loc/internal".  
e650: 22 24 7b 73 72 63 64 69 72 7d 2f 69 6e 63 6c 75  "${srcdir}/inclu
e660: 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65  de/jemalloc/inte
e670: 72 6e 61 6c 2f 70 75 62 6c 69 63 5f 75 6e 6e 61  rnal/public_unna
e680: 6d 65 73 70 61 63 65 2e 73 68 22 20 22 24 7b 6f  mespace.sh" "${o
e690: 62 6a 72 6f 6f 74 7d 69 6e 63 6c 75 64 65 2f 6a  bjroot}include/j
e6a0: 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e 61 6c  emalloc/internal
e6b0: 2f 70 75 62 6c 69 63 5f 73 79 6d 62 6f 6c 73 2e  /public_symbols.
e6c0: 74 78 74 22 20 3e 20 22 24 7b 6f 62 6a 72 6f 6f  txt" > "${objroo
e6d0: 74 7d 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c  t}include/jemall
e6e0: 6f 63 2f 69 6e 74 65 72 6e 61 6c 2f 70 75 62 6c  oc/internal/publ
e6f0: 69 63 5f 75 6e 6e 61 6d 65 73 70 61 63 65 2e 68  ic_unnamespace.h
e700: 22 0a 5d 2c 20 5b 0a 20 20 73 72 63 64 69 72 3d  ".], [.  srcdir=
e710: 22 24 7b 73 72 63 64 69 72 7d 22 0a 20 20 6f 62  "${srcdir}".  ob
e720: 6a 72 6f 6f 74 3d 22 24 7b 6f 62 6a 72 6f 6f 74  jroot="${objroot
e730: 7d 22 0a 5d 29 0a 41 43 5f 43 4f 4e 46 49 47 5f  }".]).AC_CONFIG_
e740: 43 4f 4d 4d 41 4e 44 53 28 5b 69 6e 63 6c 75 64  COMMANDS([includ
e750: 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72  e/jemalloc/inter
e760: 6e 61 6c 2f 73 69 7a 65 5f 63 6c 61 73 73 65 73  nal/size_classes
e770: 2e 68 5d 2c 20 5b 0a 20 20 6d 6b 64 69 72 20 2d  .h], [.  mkdir -
e780: 70 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 69 6e 63  p "${objroot}inc
e790: 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e  lude/jemalloc/in
e7a0: 74 65 72 6e 61 6c 22 0a 20 20 22 24 7b 53 48 45  ternal".  "${SHE
e7b0: 4c 4c 7d 22 20 22 24 7b 73 72 63 64 69 72 7d 2f  LL}" "${srcdir}/
e7c0: 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63  include/jemalloc
e7d0: 2f 69 6e 74 65 72 6e 61 6c 2f 73 69 7a 65 5f 63  /internal/size_c
e7e0: 6c 61 73 73 65 73 2e 73 68 22 20 22 24 7b 4c 47  lasses.sh" "${LG
e7f0: 5f 51 55 41 4e 54 41 7d 22 20 24 7b 4c 47 5f 54  _QUANTA}" ${LG_T
e800: 49 4e 59 5f 4d 49 4e 7d 20 22 24 7b 4c 47 5f 50  INY_MIN} "${LG_P
e810: 41 47 45 5f 53 49 5a 45 53 7d 22 20 24 7b 4c 47  AGE_SIZES}" ${LG
e820: 5f 53 49 5a 45 5f 43 4c 41 53 53 5f 47 52 4f 55  _SIZE_CLASS_GROU
e830: 50 7d 20 3e 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d  P} > "${objroot}
e840: 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63  include/jemalloc
e850: 2f 69 6e 74 65 72 6e 61 6c 2f 73 69 7a 65 5f 63  /internal/size_c
e860: 6c 61 73 73 65 73 2e 68 22 0a 5d 2c 20 5b 0a 20  lasses.h".], [. 
e870: 20 53 48 45 4c 4c 3d 22 24 7b 53 48 45 4c 4c 7d   SHELL="${SHELL}
e880: 22 0a 20 20 73 72 63 64 69 72 3d 22 24 7b 73 72  ".  srcdir="${sr
e890: 63 64 69 72 7d 22 0a 20 20 6f 62 6a 72 6f 6f 74  cdir}".  objroot
e8a0: 3d 22 24 7b 6f 62 6a 72 6f 6f 74 7d 22 0a 20 20  ="${objroot}".  
e8b0: 4c 47 5f 51 55 41 4e 54 41 3d 22 24 7b 4c 47 5f  LG_QUANTA="${LG_
e8c0: 51 55 41 4e 54 41 7d 22 0a 20 20 4c 47 5f 54 49  QUANTA}".  LG_TI
e8d0: 4e 59 5f 4d 49 4e 3d 24 7b 4c 47 5f 54 49 4e 59  NY_MIN=${LG_TINY
e8e0: 5f 4d 49 4e 7d 0a 20 20 4c 47 5f 50 41 47 45 5f  _MIN}.  LG_PAGE_
e8f0: 53 49 5a 45 53 3d 22 24 7b 4c 47 5f 50 41 47 45  SIZES="${LG_PAGE
e900: 5f 53 49 5a 45 53 7d 22 0a 20 20 4c 47 5f 53 49  _SIZES}".  LG_SI
e910: 5a 45 5f 43 4c 41 53 53 5f 47 52 4f 55 50 3d 24  ZE_CLASS_GROUP=$
e920: 7b 4c 47 5f 53 49 5a 45 5f 43 4c 41 53 53 5f 47  {LG_SIZE_CLASS_G
e930: 52 4f 55 50 7d 0a 5d 29 0a 41 43 5f 43 4f 4e 46  ROUP}.]).AC_CONF
e940: 49 47 5f 43 4f 4d 4d 41 4e 44 53 28 5b 69 6e 63  IG_COMMANDS([inc
e950: 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65  lude/jemalloc/je
e960: 6d 61 6c 6c 6f 63 5f 70 72 6f 74 6f 73 5f 6a 65  malloc_protos_je
e970: 74 2e 68 5d 2c 20 5b 0a 20 20 6d 6b 64 69 72 20  t.h], [.  mkdir 
e980: 2d 70 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 69 6e  -p "${objroot}in
e990: 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 22 0a  clude/jemalloc".
e9a0: 20 20 63 61 74 20 22 24 7b 73 72 63 64 69 72 7d    cat "${srcdir}
e9b0: 2f 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f  /include/jemallo
e9c0: 63 2f 6a 65 6d 61 6c 6c 6f 63 5f 70 72 6f 74 6f  c/jemalloc_proto
e9d0: 73 2e 68 2e 69 6e 22 20 7c 20 73 65 64 20 2d 65  s.h.in" | sed -e
e9e0: 20 27 73 2f 40 6a 65 5f 40 2f 6a 65 74 5f 2f 67   's/@je_@/jet_/g
e9f0: 27 20 3e 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 69  ' > "${objroot}i
ea00: 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f  nclude/jemalloc/
ea10: 6a 65 6d 61 6c 6c 6f 63 5f 70 72 6f 74 6f 73 5f  jemalloc_protos_
ea20: 6a 65 74 2e 68 22 0a 5d 2c 20 5b 0a 20 20 73 72  jet.h".], [.  sr
ea30: 63 64 69 72 3d 22 24 7b 73 72 63 64 69 72 7d 22  cdir="${srcdir}"
ea40: 0a 20 20 6f 62 6a 72 6f 6f 74 3d 22 24 7b 6f 62  .  objroot="${ob
ea50: 6a 72 6f 6f 74 7d 22 0a 5d 29 0a 41 43 5f 43 4f  jroot}".]).AC_CO
ea60: 4e 46 49 47 5f 43 4f 4d 4d 41 4e 44 53 28 5b 69  NFIG_COMMANDS([i
ea70: 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f  nclude/jemalloc/
ea80: 6a 65 6d 61 6c 6c 6f 63 5f 72 65 6e 61 6d 65 2e  jemalloc_rename.
ea90: 68 5d 2c 20 5b 0a 20 20 6d 6b 64 69 72 20 2d 70  h], [.  mkdir -p
eaa0: 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 69 6e 63 6c   "${objroot}incl
eab0: 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 22 0a 20 20  ude/jemalloc".  
eac0: 22 24 7b 73 72 63 64 69 72 7d 2f 69 6e 63 6c 75  "${srcdir}/inclu
ead0: 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61  de/jemalloc/jema
eae0: 6c 6c 6f 63 5f 72 65 6e 61 6d 65 2e 73 68 22 20  lloc_rename.sh" 
eaf0: 22 24 7b 6f 62 6a 72 6f 6f 74 7d 69 6e 63 6c 75  "${objroot}inclu
eb00: 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65  de/jemalloc/inte
eb10: 72 6e 61 6c 2f 70 75 62 6c 69 63 5f 73 79 6d 62  rnal/public_symb
eb20: 6f 6c 73 2e 74 78 74 22 20 3e 20 22 24 7b 6f 62  ols.txt" > "${ob
eb30: 6a 72 6f 6f 74 7d 69 6e 63 6c 75 64 65 2f 6a 65  jroot}include/je
eb40: 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 5f  malloc/jemalloc_
eb50: 72 65 6e 61 6d 65 2e 68 22 0a 5d 2c 20 5b 0a 20  rename.h".], [. 
eb60: 20 73 72 63 64 69 72 3d 22 24 7b 73 72 63 64 69   srcdir="${srcdi
eb70: 72 7d 22 0a 20 20 6f 62 6a 72 6f 6f 74 3d 22 24  r}".  objroot="$
eb80: 7b 6f 62 6a 72 6f 6f 74 7d 22 0a 5d 29 0a 41 43  {objroot}".]).AC
eb90: 5f 43 4f 4e 46 49 47 5f 43 4f 4d 4d 41 4e 44 53  _CONFIG_COMMANDS
eba0: 28 5b 69 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c  ([include/jemall
ebb0: 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 5f 6d 61 6e 67  oc/jemalloc_mang
ebc0: 6c 65 2e 68 5d 2c 20 5b 0a 20 20 6d 6b 64 69 72  le.h], [.  mkdir
ebd0: 20 2d 70 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 69   -p "${objroot}i
ebe0: 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 22  nclude/jemalloc"
ebf0: 0a 20 20 22 24 7b 73 72 63 64 69 72 7d 2f 69 6e  .  "${srcdir}/in
ec00: 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a  clude/jemalloc/j
ec10: 65 6d 61 6c 6c 6f 63 5f 6d 61 6e 67 6c 65 2e 73  emalloc_mangle.s
ec20: 68 22 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 69 6e  h" "${objroot}in
ec30: 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 69  clude/jemalloc/i
ec40: 6e 74 65 72 6e 61 6c 2f 70 75 62 6c 69 63 5f 73  nternal/public_s
ec50: 79 6d 62 6f 6c 73 2e 74 78 74 22 20 6a 65 5f 20  ymbols.txt" je_ 
ec60: 3e 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 69 6e 63  > "${objroot}inc
ec70: 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65  lude/jemalloc/je
ec80: 6d 61 6c 6c 6f 63 5f 6d 61 6e 67 6c 65 2e 68 22  malloc_mangle.h"
ec90: 0a 5d 2c 20 5b 0a 20 20 73 72 63 64 69 72 3d 22  .], [.  srcdir="
eca0: 24 7b 73 72 63 64 69 72 7d 22 0a 20 20 6f 62 6a  ${srcdir}".  obj
ecb0: 72 6f 6f 74 3d 22 24 7b 6f 62 6a 72 6f 6f 74 7d  root="${objroot}
ecc0: 22 0a 5d 29 0a 41 43 5f 43 4f 4e 46 49 47 5f 43  ".]).AC_CONFIG_C
ecd0: 4f 4d 4d 41 4e 44 53 28 5b 69 6e 63 6c 75 64 65  OMMANDS([include
ece0: 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c  /jemalloc/jemall
ecf0: 6f 63 5f 6d 61 6e 67 6c 65 5f 6a 65 74 2e 68 5d  oc_mangle_jet.h]
ed00: 2c 20 5b 0a 20 20 6d 6b 64 69 72 20 2d 70 20 22  , [.  mkdir -p "
ed10: 24 7b 6f 62 6a 72 6f 6f 74 7d 69 6e 63 6c 75 64  ${objroot}includ
ed20: 65 2f 6a 65 6d 61 6c 6c 6f 63 22 0a 20 20 22 24  e/jemalloc".  "$
ed30: 7b 73 72 63 64 69 72 7d 2f 69 6e 63 6c 75 64 65  {srcdir}/include
ed40: 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c  /jemalloc/jemall
ed50: 6f 63 5f 6d 61 6e 67 6c 65 2e 73 68 22 20 22 24  oc_mangle.sh" "$
ed60: 7b 6f 62 6a 72 6f 6f 74 7d 69 6e 63 6c 75 64 65  {objroot}include
ed70: 2f 6a 65 6d 61 6c 6c 6f 63 2f 69 6e 74 65 72 6e  /jemalloc/intern
ed80: 61 6c 2f 70 75 62 6c 69 63 5f 73 79 6d 62 6f 6c  al/public_symbol
ed90: 73 2e 74 78 74 22 20 6a 65 74 5f 20 3e 20 22 24  s.txt" jet_ > "$
eda0: 7b 6f 62 6a 72 6f 6f 74 7d 69 6e 63 6c 75 64 65  {objroot}include
edb0: 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c  /jemalloc/jemall
edc0: 6f 63 5f 6d 61 6e 67 6c 65 5f 6a 65 74 2e 68 22  oc_mangle_jet.h"
edd0: 0a 5d 2c 20 5b 0a 20 20 73 72 63 64 69 72 3d 22  .], [.  srcdir="
ede0: 24 7b 73 72 63 64 69 72 7d 22 0a 20 20 6f 62 6a  ${srcdir}".  obj
edf0: 72 6f 6f 74 3d 22 24 7b 6f 62 6a 72 6f 6f 74 7d  root="${objroot}
ee00: 22 0a 5d 29 0a 41 43 5f 43 4f 4e 46 49 47 5f 43  ".]).AC_CONFIG_C
ee10: 4f 4d 4d 41 4e 44 53 28 5b 69 6e 63 6c 75 64 65  OMMANDS([include
ee20: 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c  /jemalloc/jemall
ee30: 6f 63 2e 68 5d 2c 20 5b 0a 20 20 6d 6b 64 69 72  oc.h], [.  mkdir
ee40: 20 2d 70 20 22 24 7b 6f 62 6a 72 6f 6f 74 7d 69   -p "${objroot}i
ee50: 6e 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 22  nclude/jemalloc"
ee60: 0a 20 20 22 24 7b 73 72 63 64 69 72 7d 2f 69 6e  .  "${srcdir}/in
ee70: 63 6c 75 64 65 2f 6a 65 6d 61 6c 6c 6f 63 2f 6a  clude/jemalloc/j
ee80: 65 6d 61 6c 6c 6f 63 2e 73 68 22 20 22 24 7b 6f  emalloc.sh" "${o
ee90: 62 6a 72 6f 6f 74 7d 22 20 3e 20 22 24 7b 6f 62  bjroot}" > "${ob
eea0: 6a 72 6f 6f 74 7d 69 6e 63 6c 75 64 65 2f 6a 65  jroot}include/je
eeb0: 6d 61 6c 6c 6f 63 2f 6a 65 6d 61 6c 6c 6f 63 24  malloc/jemalloc$
eec0: 7b 69 6e 73 74 61 6c 6c 5f 73 75 66 66 69 78 7d  {install_suffix}
eed0: 2e 68 22 0a 5d 2c 20 5b 0a 20 20 73 72 63 64 69  .h".], [.  srcdi
eee0: 72 3d 22 24 7b 73 72 63 64 69 72 7d 22 0a 20 20  r="${srcdir}".  
eef0: 6f 62 6a 72 6f 6f 74 3d 22 24 7b 6f 62 6a 72 6f  objroot="${objro
ef00: 6f 74 7d 22 0a 20 20 69 6e 73 74 61 6c 6c 5f 73  ot}".  install_s
ef10: 75 66 66 69 78 3d 22 24 7b 69 6e 73 74 61 6c 6c  uffix="${install
ef20: 5f 73 75 66 66 69 78 7d 22 0a 5d 29 0a 0a 64 6e  _suffix}".])..dn
ef30: 6c 20 50 72 6f 63 65 73 73 20 2e 69 6e 20 66 69  l Process .in fi
ef40: 6c 65 73 2e 0a 41 43 5f 53 55 42 53 54 28 5b 63  les..AC_SUBST([c
ef50: 66 67 68 64 72 73 5f 69 6e 5d 29 0a 41 43 5f 53  fghdrs_in]).AC_S
ef60: 55 42 53 54 28 5b 63 66 67 68 64 72 73 5f 6f 75  UBST([cfghdrs_ou
ef70: 74 5d 29 0a 41 43 5f 43 4f 4e 46 49 47 5f 48 45  t]).AC_CONFIG_HE
ef80: 41 44 45 52 53 28 5b 24 63 66 67 68 64 72 73 5f  ADERS([$cfghdrs_
ef90: 74 75 70 5d 29 0a 0a 64 6e 6c 20 3d 3d 3d 3d 3d  tup])..dnl =====
efa0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
efb0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
efc0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
efd0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
efe0: 3d 3d 3d 3d 3d 3d 3d 0a 64 6e 6c 20 47 65 6e 65  =======.dnl Gene
eff0: 72 61 74 65 20 6f 75 74 70 75 74 73 2e 0a 0a 41  rate outputs...A
f000: 43 5f 43 4f 4e 46 49 47 5f 46 49 4c 45 53 28 5b  C_CONFIG_FILES([
f010: 24 63 66 67 6f 75 74 70 75 74 73 5f 74 75 70 20  $cfgoutputs_tup 
f020: 63 6f 6e 66 69 67 2e 73 74 61 6d 70 20 62 69 6e  config.stamp bin
f030: 2f 6a 65 6d 61 6c 6c 6f 63 2d 63 6f 6e 66 69 67  /jemalloc-config
f040: 20 62 69 6e 2f 6a 65 6d 61 6c 6c 6f 63 2e 73 68   bin/jemalloc.sh
f050: 20 62 69 6e 2f 6a 65 70 72 6f 66 5d 29 0a 41 43   bin/jeprof]).AC
f060: 5f 53 55 42 53 54 28 5b 63 66 67 6f 75 74 70 75  _SUBST([cfgoutpu
f070: 74 73 5f 69 6e 5d 29 0a 41 43 5f 53 55 42 53 54  ts_in]).AC_SUBST
f080: 28 5b 63 66 67 6f 75 74 70 75 74 73 5f 6f 75 74  ([cfgoutputs_out
f090: 5d 29 0a 41 43 5f 4f 55 54 50 55 54 0a 0a 64 6e  ]).AC_OUTPUT..dn
f0a0: 6c 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  l ==============
f0b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f0c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f0d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f0e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 64  ==============.d
f0f0: 6e 6c 20 50 72 69 6e 74 20 6f 75 74 20 74 68 65  nl Print out the
f100: 20 72 65 73 75 6c 74 73 20 6f 66 20 63 6f 6e 66   results of conf
f110: 69 67 75 72 61 74 69 6f 6e 2e 0a 41 43 5f 4d 53  iguration..AC_MS
f120: 47 5f 52 45 53 55 4c 54 28 5b 3d 3d 3d 3d 3d 3d  G_RESULT([======
f130: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f140: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f150: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f160: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
f170: 3d 3d 3d 3d 3d 3d 3d 3d 3d 5d 29 0a 41 43 5f 4d  =========]).AC_M
f180: 53 47 5f 52 45 53 55 4c 54 28 5b 6a 65 6d 61 6c  SG_RESULT([jemal
f190: 6c 6f 63 20 76 65 72 73 69 6f 6e 20 20 20 3a 20  loc version   : 
f1a0: 24 7b 6a 65 6d 61 6c 6c 6f 63 5f 76 65 72 73 69  ${jemalloc_versi
f1b0: 6f 6e 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53  on}]).AC_MSG_RES
f1c0: 55 4c 54 28 5b 6c 69 62 72 61 72 79 20 72 65 76  ULT([library rev
f1d0: 69 73 69 6f 6e 20 20 20 3a 20 24 7b 72 65 76 7d  ision   : ${rev}
f1e0: 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54  ]).AC_MSG_RESULT
f1f0: 28 5b 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55  ([]).AC_MSG_RESU
f200: 4c 54 28 5b 43 4f 4e 46 49 47 20 20 20 20 20 20  LT([CONFIG      
f210: 20 20 20 20 20 20 20 3a 20 24 7b 43 4f 4e 46 49         : ${CONFI
f220: 47 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55  G}]).AC_MSG_RESU
f230: 4c 54 28 5b 43 43 20 20 20 20 20 20 20 20 20 20  LT([CC          
f240: 20 20 20 20 20 20 20 3a 20 24 7b 43 43 7d 5d 29         : ${CC}])
f250: 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b  .AC_MSG_RESULT([
f260: 43 4f 4e 46 49 47 55 52 45 5f 43 46 4c 41 47 53  CONFIGURE_CFLAGS
f270: 20 20 20 3a 20 24 7b 43 4f 4e 46 49 47 55 52 45     : ${CONFIGURE
f280: 5f 43 46 4c 41 47 53 7d 5d 29 0a 41 43 5f 4d 53  _CFLAGS}]).AC_MS
f290: 47 5f 52 45 53 55 4c 54 28 5b 53 50 45 43 49 46  G_RESULT([SPECIF
f2a0: 49 45 44 5f 43 46 4c 41 47 53 20 20 20 3a 20 24  IED_CFLAGS   : $
f2b0: 7b 53 50 45 43 49 46 49 45 44 5f 43 46 4c 41 47  {SPECIFIED_CFLAG
f2c0: 53 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55  S}]).AC_MSG_RESU
f2d0: 4c 54 28 5b 45 58 54 52 41 5f 43 46 4c 41 47 53  LT([EXTRA_CFLAGS
f2e0: 20 20 20 20 20 20 20 3a 20 24 7b 45 58 54 52 41         : ${EXTRA
f2f0: 5f 43 46 4c 41 47 53 7d 5d 29 0a 41 43 5f 4d 53  _CFLAGS}]).AC_MS
f300: 47 5f 52 45 53 55 4c 54 28 5b 43 50 50 46 4c 41  G_RESULT([CPPFLA
f310: 47 53 20 20 20 20 20 20 20 20 20 20 20 3a 20 24  GS           : $
f320: 7b 43 50 50 46 4c 41 47 53 7d 5d 29 0a 41 43 5f  {CPPFLAGS}]).AC_
f330: 4d 53 47 5f 52 45 53 55 4c 54 28 5b 4c 44 46 4c  MSG_RESULT([LDFL
f340: 41 47 53 20 20 20 20 20 20 20 20 20 20 20 20 3a  AGS            :
f350: 20 24 7b 4c 44 46 4c 41 47 53 7d 5d 29 0a 41 43   ${LDFLAGS}]).AC
f360: 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 45 58 54  _MSG_RESULT([EXT
f370: 52 41 5f 4c 44 46 4c 41 47 53 20 20 20 20 20 20  RA_LDFLAGS      
f380: 3a 20 24 7b 45 58 54 52 41 5f 4c 44 46 4c 41 47  : ${EXTRA_LDFLAG
f390: 53 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55  S}]).AC_MSG_RESU
f3a0: 4c 54 28 5b 4c 49 42 53 20 20 20 20 20 20 20 20  LT([LIBS        
f3b0: 20 20 20 20 20 20 20 3a 20 24 7b 4c 49 42 53 7d         : ${LIBS}
f3c0: 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54  ]).AC_MSG_RESULT
f3d0: 28 5b 52 50 41 54 48 5f 45 58 54 52 41 20 20 20  ([RPATH_EXTRA   
f3e0: 20 20 20 20 20 3a 20 24 7b 52 50 41 54 48 5f 45       : ${RPATH_E
f3f0: 58 54 52 41 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52  XTRA}]).AC_MSG_R
f400: 45 53 55 4c 54 28 5b 5d 29 0a 41 43 5f 4d 53 47  ESULT([]).AC_MSG
f410: 5f 52 45 53 55 4c 54 28 5b 58 53 4c 54 50 52 4f  _RESULT([XSLTPRO
f420: 43 20 20 20 20 20 20 20 20 20 20 20 3a 20 24 7b  C           : ${
f430: 58 53 4c 54 50 52 4f 43 7d 5d 29 0a 41 43 5f 4d  XSLTPROC}]).AC_M
f440: 53 47 5f 52 45 53 55 4c 54 28 5b 58 53 4c 52 4f  SG_RESULT([XSLRO
f450: 4f 54 20 20 20 20 20 20 20 20 20 20 20 20 3a 20  OT            : 
f460: 24 7b 58 53 4c 52 4f 4f 54 7d 5d 29 0a 41 43 5f  ${XSLROOT}]).AC_
f470: 4d 53 47 5f 52 45 53 55 4c 54 28 5b 5d 29 0a 41  MSG_RESULT([]).A
f480: 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 50 52  C_MSG_RESULT([PR
f490: 45 46 49 58 20 20 20 20 20 20 20 20 20 20 20 20  EFIX            
f4a0: 20 3a 20 24 7b 50 52 45 46 49 58 7d 5d 29 0a 41   : ${PREFIX}]).A
f4b0: 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 42 49  C_MSG_RESULT([BI
f4c0: 4e 44 49 52 20 20 20 20 20 20 20 20 20 20 20 20  NDIR            
f4d0: 20 3a 20 24 7b 42 49 4e 44 49 52 7d 5d 29 0a 41   : ${BINDIR}]).A
f4e0: 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 44 41  C_MSG_RESULT([DA
f4f0: 54 41 44 49 52 20 20 20 20 20 20 20 20 20 20 20  TADIR           
f500: 20 3a 20 24 7b 44 41 54 41 44 49 52 7d 5d 29 0a   : ${DATADIR}]).
f510: 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 49  AC_MSG_RESULT([I
f520: 4e 43 4c 55 44 45 44 49 52 20 20 20 20 20 20 20  NCLUDEDIR       
f530: 20 20 3a 20 24 7b 49 4e 43 4c 55 44 45 44 49 52    : ${INCLUDEDIR
f540: 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c  }]).AC_MSG_RESUL
f550: 54 28 5b 4c 49 42 44 49 52 20 20 20 20 20 20 20  T([LIBDIR       
f560: 20 20 20 20 20 20 3a 20 24 7b 4c 49 42 44 49 52        : ${LIBDIR
f570: 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c  }]).AC_MSG_RESUL
f580: 54 28 5b 4d 41 4e 44 49 52 20 20 20 20 20 20 20  T([MANDIR       
f590: 20 20 20 20 20 20 3a 20 24 7b 4d 41 4e 44 49 52        : ${MANDIR
f5a0: 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c  }]).AC_MSG_RESUL
f5b0: 54 28 5b 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53  T([]).AC_MSG_RES
f5c0: 55 4c 54 28 5b 73 72 63 72 6f 6f 74 20 20 20 20  ULT([srcroot    
f5d0: 20 20 20 20 20 20 20 20 3a 20 24 7b 73 72 63 72          : ${srcr
f5e0: 6f 6f 74 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45  oot}]).AC_MSG_RE
f5f0: 53 55 4c 54 28 5b 61 62 73 5f 73 72 63 72 6f 6f  SULT([abs_srcroo
f600: 74 20 20 20 20 20 20 20 20 3a 20 24 7b 61 62 73  t        : ${abs
f610: 5f 73 72 63 72 6f 6f 74 7d 5d 29 0a 41 43 5f 4d  _srcroot}]).AC_M
f620: 53 47 5f 52 45 53 55 4c 54 28 5b 6f 62 6a 72 6f  SG_RESULT([objro
f630: 6f 74 20 20 20 20 20 20 20 20 20 20 20 20 3a 20  ot            : 
f640: 24 7b 6f 62 6a 72 6f 6f 74 7d 5d 29 0a 41 43 5f  ${objroot}]).AC_
f650: 4d 53 47 5f 52 45 53 55 4c 54 28 5b 61 62 73 5f  MSG_RESULT([abs_
f660: 6f 62 6a 72 6f 6f 74 20 20 20 20 20 20 20 20 3a  objroot        :
f670: 20 24 7b 61 62 73 5f 6f 62 6a 72 6f 6f 74 7d 5d   ${abs_objroot}]
f680: 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28  ).AC_MSG_RESULT(
f690: 5b 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c  []).AC_MSG_RESUL
f6a0: 54 28 5b 4a 45 4d 41 4c 4c 4f 43 5f 50 52 45 46  T([JEMALLOC_PREF
f6b0: 49 58 20 20 20 20 3a 20 24 7b 4a 45 4d 41 4c 4c  IX    : ${JEMALL
f6c0: 4f 43 5f 50 52 45 46 49 58 7d 5d 29 0a 41 43 5f  OC_PREFIX}]).AC_
f6d0: 4d 53 47 5f 52 45 53 55 4c 54 28 5b 4a 45 4d 41  MSG_RESULT([JEMA
f6e0: 4c 4c 4f 43 5f 50 52 49 56 41 54 45 5f 4e 41 4d  LLOC_PRIVATE_NAM
f6f0: 45 53 50 41 43 45 5d 29 0a 41 43 5f 4d 53 47 5f  ESPACE]).AC_MSG_
f700: 52 45 53 55 4c 54 28 5b 20 20 20 20 20 20 20 20  RESULT([        
f710: 20 20 20 20 20 20 20 20 20 20 20 3a 20 24 7b 4a             : ${J
f720: 45 4d 41 4c 4c 4f 43 5f 50 52 49 56 41 54 45 5f  EMALLOC_PRIVATE_
f730: 4e 41 4d 45 53 50 41 43 45 7d 5d 29 0a 41 43 5f  NAMESPACE}]).AC_
f740: 4d 53 47 5f 52 45 53 55 4c 54 28 5b 69 6e 73 74  MSG_RESULT([inst
f750: 61 6c 6c 5f 73 75 66 66 69 78 20 20 20 20 20 3a  all_suffix     :
f760: 20 24 7b 69 6e 73 74 61 6c 6c 5f 73 75 66 66 69   ${install_suffi
f770: 78 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55  x}]).AC_MSG_RESU
f780: 4c 54 28 5b 6d 61 6c 6c 6f 63 5f 63 6f 6e 66 20  LT([malloc_conf 
f790: 20 20 20 20 20 20 20 3a 20 24 7b 63 6f 6e 66 69         : ${confi
f7a0: 67 5f 6d 61 6c 6c 6f 63 5f 63 6f 6e 66 7d 5d 29  g_malloc_conf}])
f7b0: 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b  .AC_MSG_RESULT([
f7c0: 61 75 74 6f 67 65 6e 20 20 20 20 20 20 20 20 20  autogen         
f7d0: 20 20 20 3a 20 24 7b 65 6e 61 62 6c 65 5f 61 75     : ${enable_au
f7e0: 74 6f 67 65 6e 7d 5d 29 0a 41 43 5f 4d 53 47 5f  togen}]).AC_MSG_
f7f0: 52 45 53 55 4c 54 28 5b 63 63 2d 73 69 6c 65 6e  RESULT([cc-silen
f800: 63 65 20 20 20 20 20 20 20 20 20 3a 20 24 7b 65  ce         : ${e
f810: 6e 61 62 6c 65 5f 63 63 5f 73 69 6c 65 6e 63 65  nable_cc_silence
f820: 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c  }]).AC_MSG_RESUL
f830: 54 28 5b 64 65 62 75 67 20 20 20 20 20 20 20 20  T([debug        
f840: 20 20 20 20 20 20 3a 20 24 7b 65 6e 61 62 6c 65        : ${enable
f850: 5f 64 65 62 75 67 7d 5d 29 0a 41 43 5f 4d 53 47  _debug}]).AC_MSG
f860: 5f 52 45 53 55 4c 54 28 5b 63 6f 64 65 2d 63 6f  _RESULT([code-co
f870: 76 65 72 61 67 65 20 20 20 20 20 20 3a 20 24 7b  verage      : ${
f880: 65 6e 61 62 6c 65 5f 63 6f 64 65 5f 63 6f 76 65  enable_code_cove
f890: 72 61 67 65 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52  rage}]).AC_MSG_R
f8a0: 45 53 55 4c 54 28 5b 73 74 61 74 73 20 20 20 20  ESULT([stats    
f8b0: 20 20 20 20 20 20 20 20 20 20 3a 20 24 7b 65 6e            : ${en
f8c0: 61 62 6c 65 5f 73 74 61 74 73 7d 5d 29 0a 41 43  able_stats}]).AC
f8d0: 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 70 72 6f  _MSG_RESULT([pro
f8e0: 66 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  f               
f8f0: 3a 20 24 7b 65 6e 61 62 6c 65 5f 70 72 6f 66 7d  : ${enable_prof}
f900: 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54  ]).AC_MSG_RESULT
f910: 28 5b 70 72 6f 66 2d 6c 69 62 75 6e 77 69 6e 64  ([prof-libunwind
f920: 20 20 20 20 20 3a 20 24 7b 65 6e 61 62 6c 65 5f       : ${enable_
f930: 70 72 6f 66 5f 6c 69 62 75 6e 77 69 6e 64 7d 5d  prof_libunwind}]
f940: 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28  ).AC_MSG_RESULT(
f950: 5b 70 72 6f 66 2d 6c 69 62 67 63 63 20 20 20 20  [prof-libgcc    
f960: 20 20 20 20 3a 20 24 7b 65 6e 61 62 6c 65 5f 70      : ${enable_p
f970: 72 6f 66 5f 6c 69 62 67 63 63 7d 5d 29 0a 41 43  rof_libgcc}]).AC
f980: 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 70 72 6f  _MSG_RESULT([pro
f990: 66 2d 67 63 63 20 20 20 20 20 20 20 20 20 20 20  f-gcc           
f9a0: 3a 20 24 7b 65 6e 61 62 6c 65 5f 70 72 6f 66 5f  : ${enable_prof_
f9b0: 67 63 63 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45  gcc}]).AC_MSG_RE
f9c0: 53 55 4c 54 28 5b 74 63 61 63 68 65 20 20 20 20  SULT([tcache    
f9d0: 20 20 20 20 20 20 20 20 20 3a 20 24 7b 65 6e 61           : ${ena
f9e0: 62 6c 65 5f 74 63 61 63 68 65 7d 5d 29 0a 41 43  ble_tcache}]).AC
f9f0: 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 74 68 70  _MSG_RESULT([thp
fa00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
fa10: 3a 20 24 7b 65 6e 61 62 6c 65 5f 74 68 70 7d 5d  : ${enable_thp}]
fa20: 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28  ).AC_MSG_RESULT(
fa30: 5b 66 69 6c 6c 20 20 20 20 20 20 20 20 20 20 20  [fill           
fa40: 20 20 20 20 3a 20 24 7b 65 6e 61 62 6c 65 5f 66      : ${enable_f
fa50: 69 6c 6c 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45  ill}]).AC_MSG_RE
fa60: 53 55 4c 54 28 5b 75 74 72 61 63 65 20 20 20 20  SULT([utrace    
fa70: 20 20 20 20 20 20 20 20 20 3a 20 24 7b 65 6e 61           : ${ena
fa80: 62 6c 65 5f 75 74 72 61 63 65 7d 5d 29 0a 41 43  ble_utrace}]).AC
fa90: 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 76 61 6c  _MSG_RESULT([val
faa0: 67 72 69 6e 64 20 20 20 20 20 20 20 20 20 20 20  grind           
fab0: 3a 20 24 7b 65 6e 61 62 6c 65 5f 76 61 6c 67 72  : ${enable_valgr
fac0: 69 6e 64 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45  ind}]).AC_MSG_RE
fad0: 53 55 4c 54 28 5b 78 6d 61 6c 6c 6f 63 20 20 20  SULT([xmalloc   
fae0: 20 20 20 20 20 20 20 20 20 3a 20 24 7b 65 6e 61           : ${ena
faf0: 62 6c 65 5f 78 6d 61 6c 6c 6f 63 7d 5d 29 0a 41  ble_xmalloc}]).A
fb00: 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 6d 75  C_MSG_RESULT([mu
fb10: 6e 6d 61 70 20 20 20 20 20 20 20 20 20 20 20 20  nmap            
fb20: 20 3a 20 24 7b 65 6e 61 62 6c 65 5f 6d 75 6e 6d   : ${enable_munm
fb30: 61 70 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53  ap}]).AC_MSG_RES
fb40: 55 4c 54 28 5b 6c 61 7a 79 5f 6c 6f 63 6b 20 20  ULT([lazy_lock  
fb50: 20 20 20 20 20 20 20 20 3a 20 24 7b 65 6e 61 62          : ${enab
fb60: 6c 65 5f 6c 61 7a 79 5f 6c 6f 63 6b 7d 5d 29 0a  le_lazy_lock}]).
fb70: 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 74  AC_MSG_RESULT([t
fb80: 6c 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ls              
fb90: 20 20 3a 20 24 7b 65 6e 61 62 6c 65 5f 74 6c 73    : ${enable_tls
fba0: 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c  }]).AC_MSG_RESUL
fbb0: 54 28 5b 63 61 63 68 65 2d 6f 62 6c 69 76 69 6f  T([cache-oblivio
fbc0: 75 73 20 20 20 20 3a 20 24 7b 65 6e 61 62 6c 65  us    : ${enable
fbd0: 5f 63 61 63 68 65 5f 6f 62 6c 69 76 69 6f 75 73  _cache_oblivious
fbe0: 7d 5d 29 0a 41 43 5f 4d 53 47 5f 52 45 53 55 4c  }]).AC_MSG_RESUL
fbf0: 54 28 5b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  T([=============
fc00: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
fc10: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
fc20: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
fc30: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
fc40: 3d 3d 5d 29 0a                                   ==]).