Fossil

Hex Artifact Content
Login

Artifact 4772202024eceeac4e05e1584e8dae08e7f25b4c:


0000: 23 20 53 79 73 74 65 6d 20 61 75 74 6f 63 6f 6e  # System autocon
0010: 66 69 67 75 72 61 74 69 6f 6e 2e 20 54 72 79 3a  figuration. Try:
0020: 20 2e 2f 63 6f 6e 66 69 67 75 72 65 20 2d 2d 68   ./configure --h
0030: 65 6c 70 0a 0a 75 73 65 20 63 63 20 63 63 2d 6c  elp..use cc cc-l
0040: 69 62 0a 0a 6f 70 74 69 6f 6e 73 20 7b 0a 20 20  ib..options {.  
0050: 20 20 77 69 74 68 2d 6f 70 65 6e 73 73 6c 3a 70    with-openssl:p
0060: 61 74 68 7c 61 75 74 6f 7c 74 72 65 65 7c 6e 6f  ath|auto|tree|no
0070: 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ne.             
0080: 20 20 20 20 20 20 20 20 20 20 20 20 3d 3e 20 7b              => {
0090: 4c 6f 6f 6b 20 66 6f 72 20 4f 70 65 6e 53 53 4c  Look for OpenSSL
00a0: 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 70 61   in the given pa
00b0: 74 68 2c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c  th, automaticall
00c0: 79 2c 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65  y, in the source
00d0: 20 74 72 65 65 2c 20 6f 72 20 6e 6f 6e 65 7d 0a   tree, or none}.
00e0: 20 20 20 20 77 69 74 68 2d 6d 69 6e 69 7a 3d 30      with-miniz=0
00f0: 20 20 20 20 20 20 20 20 20 3d 3e 20 7b 55 73 65           => {Use
0100: 20 6d 69 6e 69 7a 20 66 72 6f 6d 20 74 68 65 20   miniz from the 
0110: 73 6f 75 72 63 65 20 74 72 65 65 7d 0a 20 20 20  source tree}.   
0120: 20 77 69 74 68 2d 7a 6c 69 62 3a 70 61 74 68 7c   with-zlib:path|
0130: 61 75 74 6f 7c 74 72 65 65 0a 20 20 20 20 20 20  auto|tree.      
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 3d 3e 20 7b 4c 6f 6f 6b 20 66 6f 72 20     => {Look for 
0160: 7a 6c 69 62 20 69 6e 20 74 68 65 20 67 69 76 65  zlib in the give
0170: 6e 20 70 61 74 68 2c 20 61 75 74 6f 6d 61 74 69  n path, automati
0180: 63 61 6c 6c 79 2c 20 6f 72 20 69 6e 20 74 68 65  cally, or in the
0190: 20 73 6f 75 72 63 65 20 74 72 65 65 7d 0a 20 20   source tree}.  
01a0: 20 20 77 69 74 68 2d 65 78 65 63 2d 72 65 6c 2d    with-exec-rel-
01b0: 70 61 74 68 73 3d 30 0a 20 20 20 20 20 20 20 20  paths=0.        
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 3d 3e 20 7b 45 6e 61 62 6c 65 20 72 65 6c 61   => {Enable rela
01e0: 74 69 76 65 20 70 61 74 68 73 20 66 6f 72 20 65  tive paths for e
01f0: 78 74 65 72 6e 61 6c 20 64 69 66 66 2f 67 64 69  xternal diff/gdi
0200: 66 66 7d 0a 20 20 20 20 77 69 74 68 2d 6c 65 67  ff}.    with-leg
0210: 61 63 79 2d 6d 76 2d 72 6d 3d 30 20 20 3d 3e 20  acy-mv-rm=0  => 
0220: 7b 45 6e 61 62 6c 65 20 6c 65 67 61 63 79 20 62  {Enable legacy b
0230: 65 68 61 76 69 6f 72 20 66 6f 72 20 6d 76 2f 72  ehavior for mv/r
0240: 6d 20 28 73 6b 69 70 20 63 68 65 63 6b 6f 75 74  m (skip checkout
0250: 20 66 69 6c 65 73 29 7d 0a 20 20 20 20 77 69 74   files)}.    wit
0260: 68 2d 74 68 31 2d 64 6f 63 73 3d 30 20 20 20 20  h-th1-docs=0    
0270: 20 20 3d 3e 20 7b 45 6e 61 62 6c 65 20 54 48 31    => {Enable TH1
0280: 20 66 6f 72 20 65 6d 62 65 64 64 65 64 20 64 6f   for embedded do
0290: 63 75 6d 65 6e 74 61 74 69 6f 6e 20 70 61 67 65  cumentation page
02a0: 73 7d 0a 20 20 20 20 77 69 74 68 2d 74 68 31 2d  s}.    with-th1-
02b0: 68 6f 6f 6b 73 3d 30 20 20 20 20 20 3d 3e 20 7b  hooks=0     => {
02c0: 45 6e 61 62 6c 65 20 54 48 31 20 68 6f 6f 6b 73  Enable TH1 hooks
02d0: 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 61 6e   for commands an
02e0: 64 20 77 65 62 20 70 61 67 65 73 7d 0a 20 20 20  d web pages}.   
02f0: 20 77 69 74 68 2d 74 63 6c 3a 70 61 74 68 20 20   with-tcl:path  
0300: 20 20 20 20 20 20 3d 3e 20 7b 45 6e 61 62 6c 65        => {Enable
0310: 20 54 63 6c 20 69 6e 74 65 67 72 61 74 69 6f 6e   Tcl integration
0320: 2c 20 77 69 74 68 20 54 63 6c 20 69 6e 20 74 68  , with Tcl in th
0330: 65 20 73 70 65 63 69 66 69 65 64 20 70 61 74 68  e specified path
0340: 7d 0a 20 20 20 20 77 69 74 68 2d 74 63 6c 2d 73  }.    with-tcl-s
0350: 74 75 62 73 3d 30 20 20 20 20 20 3d 3e 20 7b 45  tubs=0     => {E
0360: 6e 61 62 6c 65 20 54 63 6c 20 69 6e 74 65 67 72  nable Tcl integr
0370: 61 74 69 6f 6e 20 76 69 61 20 73 74 75 62 73 20  ation via stubs 
0380: 6c 69 62 72 61 72 79 20 6d 65 63 68 61 6e 69 73  library mechanis
0390: 6d 7d 0a 20 20 20 20 77 69 74 68 2d 74 63 6c 2d  m}.    with-tcl-
03a0: 70 72 69 76 61 74 65 2d 73 74 75 62 73 3d 30 0a  private-stubs=0.
03b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
03c0: 20 20 20 20 20 20 20 20 20 3d 3e 20 7b 45 6e 61           => {Ena
03d0: 62 6c 65 20 54 63 6c 20 69 6e 74 65 67 72 61 74  ble Tcl integrat
03e0: 69 6f 6e 20 76 69 61 20 70 72 69 76 61 74 65 20  ion via private 
03f0: 73 74 75 62 73 20 6d 65 63 68 61 6e 69 73 6d 7d  stubs mechanism}
0400: 0a 20 20 20 20 77 69 74 68 2d 73 65 65 3d 30 20  .    with-see=0 
0410: 20 20 20 20 20 20 20 20 20 20 3d 3e 20 7b 45 6e            => {En
0420: 61 62 6c 65 20 74 68 65 20 53 51 4c 69 74 65 20  able the SQLite 
0430: 45 6e 63 72 79 70 74 69 6f 6e 20 45 78 74 65 6e  Encryption Exten
0440: 73 69 6f 6e 20 28 53 45 45 29 7d 0a 20 20 20 20  sion (SEE)}.    
0450: 69 6e 74 65 72 6e 61 6c 2d 73 71 6c 69 74 65 3d  internal-sqlite=
0460: 31 20 20 20 20 3d 3e 20 7b 44 6f 6e 27 74 20 75  1    => {Don't u
0470: 73 65 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20  se the internal 
0480: 53 51 4c 69 74 65 2c 20 75 73 65 20 74 68 65 20  SQLite, use the 
0490: 73 79 73 74 65 6d 20 6f 6e 65 7d 0a 20 20 20 20  system one}.    
04a0: 73 74 61 74 69 63 3d 30 20 20 20 20 20 20 20 20  static=0        
04b0: 20 20 20 20 20 3d 3e 20 7b 4c 69 6e 6b 20 61 20       => {Link a 
04c0: 73 74 61 74 69 63 20 65 78 65 63 75 74 61 62 6c  static executabl
04d0: 65 7d 0a 20 20 20 20 66 75 73 65 66 73 3d 31 20  e}.    fusefs=1 
04e0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 3e 20 7b              => {
04f0: 44 69 73 61 62 6c 65 20 74 68 65 20 46 75 73 65  Disable the Fuse
0500: 20 46 69 6c 65 73 79 73 74 65 6d 7d 0a 20 20 20   Filesystem}.   
0510: 20 66 6f 73 73 69 6c 2d 64 65 62 75 67 3d 30 20   fossil-debug=0 
0520: 20 20 20 20 20 20 3d 3e 20 7b 42 75 69 6c 64 20        => {Build 
0530: 77 69 74 68 20 66 6f 73 73 69 6c 20 64 65 62 75  with fossil debu
0540: 67 67 69 6e 67 20 65 6e 61 62 6c 65 64 7d 0a 20  gging enabled}. 
0550: 20 20 20 6a 73 6f 6e 3d 30 20 20 20 20 20 20 20     json=0       
0560: 20 20 20 20 20 20 20 20 3d 3e 20 7b 42 75 69 6c          => {Buil
0570: 64 20 77 69 74 68 20 66 6f 73 73 69 6c 20 4a 53  d with fossil JS
0580: 4f 4e 20 41 50 49 20 65 6e 61 62 6c 65 64 7d 0a  ON API enabled}.
0590: 7d 0a 0a 23 20 73 71 6c 69 74 65 20 77 61 6e 74  }..# sqlite want
05a0: 73 20 74 68 65 73 65 20 74 79 70 65 73 20 69 66  s these types if
05b0: 20 70 6f 73 73 69 62 6c 65 0a 63 63 2d 77 69 74   possible.cc-wit
05c0: 68 20 7b 2d 69 6e 63 6c 75 64 65 73 20 7b 73 74  h {-includes {st
05d0: 64 69 6e 74 2e 68 20 69 6e 74 74 79 70 65 73 2e  dint.h inttypes.
05e0: 68 7d 7d 20 7b 0a 20 20 20 20 63 63 2d 63 68 65  h}} {.    cc-che
05f0: 63 6b 2d 74 79 70 65 73 20 75 69 6e 74 33 32 5f  ck-types uint32_
0600: 74 20 75 69 6e 74 31 36 5f 74 20 69 6e 74 31 36  t uint16_t int16
0610: 5f 74 20 75 69 6e 74 38 5f 74 0a 7d 0a 0a 23 20  _t uint8_t.}..# 
0620: 55 73 65 20 70 72 65 61 64 2f 70 77 72 69 74 65  Use pread/pwrite
0630: 20 73 79 73 74 65 6d 20 63 61 6c 6c 73 20 69 6e   system calls in
0640: 20 70 6c 61 63 65 20 6f 66 20 73 65 65 6b 20 2b   place of seek +
0650: 20 72 65 61 64 2f 77 72 69 74 65 20 69 66 20 70   read/write if p
0660: 6f 73 73 69 62 6c 65 0a 64 65 66 69 6e 65 20 55  ossible.define U
0670: 53 45 5f 50 52 45 41 44 20 5b 63 63 2d 63 68 65  SE_PREAD [cc-che
0680: 63 6b 2d 66 75 6e 63 74 69 6f 6e 73 20 70 72 65  ck-functions pre
0690: 61 64 5d 0a 0a 23 20 46 69 6e 64 20 74 63 6c 73  ad]..# Find tcls
06a0: 68 20 66 6f 72 20 74 68 65 20 74 65 73 74 20 73  h for the test s
06b0: 75 69 74 65 2e 20 43 61 6e 27 74 20 79 65 74 20  uite. Can't yet 
06c0: 75 73 65 20 6a 69 6d 73 68 20 66 6f 72 20 74 68  use jimsh for th
06d0: 69 73 2e 0a 63 63 2d 63 68 65 63 6b 2d 70 72 6f  is..cc-check-pro
06e0: 67 73 20 74 63 6c 73 68 0a 0a 64 65 66 69 6e 65  gs tclsh..define
06f0: 20 45 58 54 52 41 5f 43 46 4c 41 47 53 20 22 22   EXTRA_CFLAGS ""
0700: 0a 64 65 66 69 6e 65 20 45 58 54 52 41 5f 4c 44  .define EXTRA_LD
0710: 46 4c 41 47 53 20 22 22 0a 64 65 66 69 6e 65 20  FLAGS "".define 
0720: 55 53 45 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54  USE_SYSTEM_SQLIT
0730: 45 20 30 0a 64 65 66 69 6e 65 20 55 53 45 5f 4c  E 0.define USE_L
0740: 49 4e 45 4e 4f 49 53 45 20 30 0a 64 65 66 69 6e  INENOISE 0.defin
0750: 65 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  e FOSSIL_ENABLE_
0760: 4d 49 4e 49 5a 20 30 0a 64 65 66 69 6e 65 20 55  MINIZ 0.define U
0770: 53 45 5f 53 45 45 20 30 0a 0a 23 20 54 68 69 73  SE_SEE 0..# This
0780: 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 61 20   procedure is a 
0790: 63 75 73 74 6f 6d 69 7a 65 64 20 76 65 72 73 69  customized versi
07a0: 6f 6e 20 6f 66 20 22 63 63 2d 63 68 65 63 6b 2d  on of "cc-check-
07b0: 66 75 6e 63 74 69 6f 6e 2d 69 6e 2d 6c 69 62 22  function-in-lib"
07c0: 2c 0a 23 20 74 68 61 74 20 64 6f 65 73 20 6e 6f  ,.# that does no
07d0: 74 20 6d 6f 64 69 66 79 20 74 68 65 20 4c 49 42  t modify the LIB
07e0: 53 20 76 61 72 69 61 62 6c 65 2e 20 20 49 74 73  S variable.  Its
07f0: 20 75 73 65 20 70 72 65 76 65 6e 74 73 20 70 72   use prevents pr
0800: 65 6d 61 74 75 72 65 6c 79 0a 23 20 70 75 6c 6c  ematurely.# pull
0810: 69 6e 67 20 69 6e 20 6c 69 62 72 61 72 69 65 73  ing in libraries
0820: 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 61 64   that will be ad
0830: 64 65 64 20 6c 61 74 65 72 20 61 6e 79 68 6f 77  ded later anyhow
0840: 20 28 65 2e 67 2e 20 22 2d 6c 64 6c 22 29 2e 0a   (e.g. "-ldl")..
0850: 70 72 6f 63 20 63 68 65 63 6b 2d 66 75 6e 63 74  proc check-funct
0860: 69 6f 6e 2d 69 6e 2d 6c 69 62 20 7b 66 75 6e 63  ion-in-lib {func
0870: 74 69 6f 6e 20 6c 69 62 73 20 7b 6f 74 68 65 72  tion libs {other
0880: 6c 69 62 73 20 7b 7d 7d 7d 20 7b 0a 20 20 20 20  libs {}}} {.    
0890: 69 66 20 7b 5b 73 74 72 69 6e 67 20 6c 65 6e 67  if {[string leng
08a0: 74 68 20 24 6f 74 68 65 72 6c 69 62 73 5d 7d 20  th $otherlibs]} 
08b0: 7b 0a 20 20 20 20 20 20 20 20 6d 73 67 2d 63 68  {.        msg-ch
08c0: 65 63 6b 69 6e 67 20 22 43 68 65 63 6b 69 6e 67  ecking "Checking
08d0: 20 66 6f 72 20 24 66 75 6e 63 74 69 6f 6e 20 69   for $function i
08e0: 6e 20 24 6c 69 62 73 20 77 69 74 68 20 24 6f 74  n $libs with $ot
08f0: 68 65 72 6c 69 62 73 2e 2e 2e 22 0a 20 20 20 20  herlibs...".    
0900: 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20  } else {.       
0910: 20 6d 73 67 2d 63 68 65 63 6b 69 6e 67 20 22 43   msg-checking "C
0920: 68 65 63 6b 69 6e 67 20 66 6f 72 20 24 66 75 6e  hecking for $fun
0930: 63 74 69 6f 6e 20 69 6e 20 24 6c 69 62 73 2e 2e  ction in $libs..
0940: 2e 22 0a 20 20 20 20 7d 0a 20 20 20 20 73 65 74  .".    }.    set
0950: 20 66 6f 75 6e 64 20 30 0a 20 20 20 20 63 63 2d   found 0.    cc-
0960: 77 69 74 68 20 5b 6c 69 73 74 20 2d 6c 69 62 73  with [list -libs
0970: 20 24 6f 74 68 65 72 6c 69 62 73 5d 20 7b 0a 20   $otherlibs] {. 
0980: 20 20 20 20 20 20 20 69 66 20 7b 5b 63 63 74 65         if {[ccte
0990: 73 74 5f 66 75 6e 63 74 69 6f 6e 20 24 66 75 6e  st_function $fun
09a0: 63 74 69 6f 6e 5d 7d 20 7b 0a 20 20 20 20 20 20  ction]} {.      
09b0: 20 20 20 20 20 20 6d 73 67 2d 72 65 73 75 6c 74        msg-result
09c0: 20 22 6e 6f 6e 65 20 6e 65 65 64 65 64 22 0a 20   "none needed". 
09d0: 20 20 20 20 20 20 20 20 20 20 20 64 65 66 69 6e             defin
09e0: 65 20 6c 69 62 5f 24 66 75 6e 63 74 69 6f 6e 20  e lib_$function 
09f0: 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 69  "".            i
0a00: 6e 63 72 20 66 6f 75 6e 64 0a 20 20 20 20 20 20  ncr found.      
0a10: 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20    } else {.     
0a20: 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 6c         foreach l
0a30: 69 62 20 24 6c 69 62 73 20 7b 0a 20 20 20 20 20  ib $libs {.     
0a40: 20 20 20 20 20 20 20 20 20 20 20 63 63 2d 77 69             cc-wi
0a50: 74 68 20 5b 6c 69 73 74 20 2d 6c 69 62 73 20 2d  th [list -libs -
0a60: 6c 24 6c 69 62 5d 20 7b 0a 20 20 20 20 20 20 20  l$lib] {.       
0a70: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20               if 
0a80: 7b 5b 63 63 74 65 73 74 5f 66 75 6e 63 74 69 6f  {[cctest_functio
0a90: 6e 20 24 66 75 6e 63 74 69 6f 6e 5d 7d 20 7b 0a  n $function]} {.
0aa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0ab0: 20 20 20 20 20 20 20 20 6d 73 67 2d 72 65 73 75          msg-resu
0ac0: 6c 74 20 2d 6c 24 6c 69 62 0a 20 20 20 20 20 20  lt -l$lib.      
0ad0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0ae0: 20 20 64 65 66 69 6e 65 20 6c 69 62 5f 24 66 75    define lib_$fu
0af0: 6e 63 74 69 6f 6e 20 2d 6c 24 6c 69 62 0a 20 20  nction -l$lib.  
0b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0b10: 20 20 20 20 20 20 69 6e 63 72 20 66 6f 75 6e 64        incr found
0b20: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0b30: 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 0a 20           break. 
0b40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0b50: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20     }.           
0b60: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20       }.         
0b70: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20     }.        }. 
0b80: 20 20 20 7d 0a 20 20 20 20 69 66 20 7b 24 66 6f     }.    if {$fo
0b90: 75 6e 64 7d 20 7b 0a 20 20 20 20 20 20 20 20 64  und} {.        d
0ba0: 65 66 69 6e 65 20 5b 66 65 61 74 75 72 65 2d 64  efine [feature-d
0bb0: 65 66 69 6e 65 2d 6e 61 6d 65 20 24 66 75 6e 63  efine-name $func
0bc0: 74 69 6f 6e 5d 0a 20 20 20 20 7d 20 65 6c 73 65  tion].    } else
0bd0: 20 7b 0a 20 20 20 20 20 20 20 20 6d 73 67 2d 72   {.        msg-r
0be0: 65 73 75 6c 74 20 22 6e 6f 22 0a 20 20 20 20 7d  esult "no".    }
0bf0: 0a 20 20 20 20 72 65 74 75 72 6e 20 24 66 6f 75  .    return $fou
0c00: 6e 64 0a 7d 0a 0a 69 66 20 7b 21 5b 6f 70 74 2d  nd.}..if {![opt-
0c10: 62 6f 6f 6c 20 69 6e 74 65 72 6e 61 6c 2d 73 71  bool internal-sq
0c20: 6c 69 74 65 5d 7d 20 7b 0a 20 20 70 72 6f 63 20  lite]} {.  proc 
0c30: 66 69 6e 64 5f 69 6e 74 65 72 6e 61 6c 5f 73 71  find_internal_sq
0c40: 6c 69 74 65 20 7b 7d 20 7b 0a 0a 20 20 20 20 23  lite {} {..    #
0c50: 20 4f 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d 73   On some systems
0c60: 20 28 73 6c 61 63 6b 77 61 72 65 29 2c 20 6c 69   (slackware), li
0c70: 62 73 71 6c 69 74 65 33 20 72 65 71 75 69 72 65  bsqlite3 require
0c80: 73 20 2d 6c 64 6c 20 74 6f 20 6c 69 6e 6b 2e 20  s -ldl to link. 
0c90: 53 6f 0a 20 20 20 20 23 20 73 65 61 72 63 68 20  So.    # search 
0ca0: 66 6f 72 20 74 68 65 20 73 79 73 74 65 6d 20 53  for the system S
0cb0: 51 4c 69 74 65 20 6f 6e 63 65 20 77 69 74 68 20  QLite once with 
0cc0: 2d 6c 64 6c 2c 20 61 6e 64 20 6f 6e 63 65 20 77  -ldl, and once w
0cd0: 69 74 68 6f 75 74 2e 20 49 66 0a 20 20 20 20 23  ithout. If.    #
0ce0: 20 74 68 65 20 6c 69 62 72 61 72 79 20 63 61 6e   the library can
0cf0: 20 6f 6e 6c 79 20 62 65 20 66 6f 75 6e 64 20 77   only be found w
0d00: 69 74 68 20 24 65 78 74 72 61 6c 69 62 73 20 73  ith $extralibs s
0d10: 65 74 20 74 6f 20 2d 6c 64 6c 2c 20 74 68 65 6e  et to -ldl, then
0d20: 0a 20 20 20 20 23 20 74 68 65 20 63 6f 64 65 20  .    # the code 
0d30: 62 65 6c 6f 77 20 77 69 6c 6c 20 61 70 70 65 6e  below will appen
0d40: 64 20 2d 6c 64 6c 20 74 6f 20 4c 49 42 53 2e 0a  d -ldl to LIBS..
0d50: 20 20 20 20 23 0a 20 20 20 20 66 6f 72 65 61 63      #.    foreac
0d60: 68 20 65 78 74 72 61 6c 69 62 73 20 7b 7b 7d 20  h extralibs {{} 
0d70: 7b 2d 6c 64 6c 7d 7d 20 7b 0a 0a 20 20 20 20 20  {-ldl}} {..     
0d80: 20 23 20 4c 6f 63 61 74 65 20 74 68 65 20 73 79   # Locate the sy
0d90: 73 74 65 6d 20 53 51 4c 69 74 65 20 62 79 20 73  stem SQLite by s
0da0: 65 61 72 63 68 69 6e 67 20 66 6f 72 20 73 71 6c  earching for sql
0db0: 69 74 65 33 5f 6f 70 65 6e 28 29 2e 20 54 68 65  ite3_open(). The
0dc0: 6e 20 63 68 65 63 6b 0a 20 20 20 20 20 20 23 20  n check.      # 
0dd0: 69 66 20 73 71 6c 69 74 65 33 5f 74 72 61 63 65  if sqlite3_trace
0de0: 5f 76 32 28 29 20 63 61 6e 20 62 65 20 66 6f 75  _v2() can be fou
0df0: 6e 64 20 61 73 20 77 65 6c 6c 2e 20 49 66 20 77  nd as well. If w
0e00: 65 20 63 61 6e 20 66 69 6e 64 20 6f 70 65 6e 28  e can find open(
0e10: 29 20 62 75 74 0a 20 20 20 20 20 20 23 20 6e 6f  ) but.      # no
0e20: 74 20 74 72 61 63 65 5f 76 32 28 29 2c 20 74 68  t trace_v2(), th
0e30: 65 6e 20 74 68 65 20 73 79 73 74 65 6d 20 53 51  en the system SQ
0e40: 4c 69 74 65 20 69 73 20 74 6f 6f 20 6f 6c 64 20  Lite is too old 
0e50: 74 6f 20 6c 69 6e 6b 20 61 67 61 69 6e 73 74 0a  to link against.
0e60: 20 20 20 20 20 20 23 20 66 6f 73 73 69 6c 2e 0a        # fossil..
0e70: 20 20 20 20 20 20 23 0a 20 20 20 20 20 20 69 66        #.      if
0e80: 20 7b 5b 63 68 65 63 6b 2d 66 75 6e 63 74 69 6f   {[check-functio
0e90: 6e 2d 69 6e 2d 6c 69 62 20 73 71 6c 69 74 65 33  n-in-lib sqlite3
0ea0: 5f 6f 70 65 6e 20 73 71 6c 69 74 65 33 20 24 65  _open sqlite3 $e
0eb0: 78 74 72 61 6c 69 62 73 5d 7d 20 7b 0a 20 20 20  xtralibs]} {.   
0ec0: 20 20 20 20 20 69 66 20 7b 21 5b 63 68 65 63 6b       if {![check
0ed0: 2d 66 75 6e 63 74 69 6f 6e 2d 69 6e 2d 6c 69 62  -function-in-lib
0ee0: 20 73 71 6c 69 74 65 33 5f 74 72 61 63 65 5f 76   sqlite3_trace_v
0ef0: 32 20 73 71 6c 69 74 65 33 20 24 65 78 74 72 61  2 sqlite3 $extra
0f00: 6c 69 62 73 5d 7d 20 7b 0a 20 20 20 20 20 20 20  libs]} {.       
0f10: 20 20 20 75 73 65 72 2d 65 72 72 6f 72 20 22 73     user-error "s
0f20: 79 73 74 65 6d 20 73 71 6c 69 74 65 33 20 74 6f  ystem sqlite3 to
0f30: 6f 20 6f 6c 64 20 28 72 65 71 75 69 72 65 20 3e  o old (require >
0f40: 3d 20 33 2e 31 34 2e 30 29 22 0a 20 20 20 20 20  = 3.14.0)".     
0f50: 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 23 20     }..        # 
0f60: 53 75 63 63 65 73 73 2e 20 55 70 64 61 74 65 20  Success. Update 
0f70: 73 79 6d 62 6f 6c 73 20 61 6e 64 20 72 65 74 75  symbols and retu
0f80: 72 6e 2e 0a 20 20 20 20 20 20 20 20 23 0a 20 20  rn..        #.  
0f90: 20 20 20 20 20 20 64 65 66 69 6e 65 20 55 53 45        define USE
0fa0: 5f 53 59 53 54 45 4d 5f 53 51 4c 49 54 45 20 31  _SYSTEM_SQLITE 1
0fb0: 0a 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 2d  .        define-
0fc0: 61 70 70 65 6e 64 20 4c 49 42 53 20 2d 6c 73 71  append LIBS -lsq
0fd0: 6c 69 74 65 33 0a 20 20 20 20 20 20 20 20 64 65  lite3.        de
0fe0: 66 69 6e 65 2d 61 70 70 65 6e 64 20 4c 49 42 53  fine-append LIBS
0ff0: 20 24 65 78 74 72 61 6c 69 62 73 0a 20 20 20 20   $extralibs.    
1000: 20 20 20 20 72 65 74 75 72 6e 0a 20 20 20 20 20      return.     
1010: 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 75 73 65   }.    }.    use
1020: 72 2d 65 72 72 6f 72 20 22 73 79 73 74 65 6d 20  r-error "system 
1030: 73 71 6c 69 74 65 33 20 6e 6f 74 20 66 6f 75 6e  sqlite3 not foun
1040: 64 22 0a 20 20 7d 0a 0a 20 20 66 69 6e 64 5f 69  d".  }..  find_i
1050: 6e 74 65 72 6e 61 6c 5f 73 71 6c 69 74 65 0a 7d  nternal_sqlite.}
1060: 0a 0a 70 72 6f 63 20 69 73 5f 6d 69 6e 67 77 20  ..proc is_mingw 
1070: 7b 7d 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20  {} {.    return 
1080: 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 2a 6d  [string match *m
1090: 69 6e 67 77 2a 20 5b 67 65 74 2d 64 65 66 69 6e  ingw* [get-defin
10a0: 65 20 68 6f 73 74 5d 5d 0a 7d 0a 0a 69 66 20 7b  e host]].}..if {
10b0: 5b 69 73 5f 6d 69 6e 67 77 5d 7d 20 7b 0a 20 20  [is_mingw]} {.  
10c0: 20 20 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20    define-append 
10d0: 45 58 54 52 41 5f 43 46 4c 41 47 53 20 2d 44 42  EXTRA_CFLAGS -DB
10e0: 52 4f 4b 45 4e 5f 4d 49 4e 47 57 5f 43 4d 44 4c  ROKEN_MINGW_CMDL
10f0: 49 4e 45 0a 20 20 20 20 64 65 66 69 6e 65 2d 61  INE.    define-a
1100: 70 70 65 6e 64 20 4c 49 42 53 20 2d 6c 6b 65 72  ppend LIBS -lker
1110: 6e 65 6c 33 32 20 2d 6c 77 73 32 5f 33 32 0a 7d  nel32 -lws2_32.}
1120: 20 65 6c 73 65 20 7b 0a 20 20 20 20 23 0a 20 20   else {.    #.  
1130: 20 20 23 20 4e 4f 54 45 3a 20 41 6c 6c 20 70 6c    # NOTE: All pl
1140: 61 74 66 6f 72 6d 73 20 65 78 63 65 70 74 20 4d  atforms except M
1150: 69 6e 47 57 20 73 68 6f 75 6c 64 20 75 73 65 20  inGW should use 
1160: 74 68 65 20 6c 69 6e 65 6e 6f 69 73 65 0a 20 20  the linenoise.  
1170: 20 20 23 20 20 20 20 20 20 20 70 61 63 6b 61 67    #       packag
1180: 65 2e 20 20 49 74 20 69 73 20 63 75 72 72 65 6e  e.  It is curren
1190: 74 6c 79 20 75 6e 73 75 70 70 6f 72 74 65 64 20  tly unsupported 
11a0: 6f 6e 20 57 69 6e 33 32 2e 0a 20 20 20 20 23 0a  on Win32..    #.
11b0: 20 20 20 20 64 65 66 69 6e 65 20 55 53 45 5f 4c      define USE_L
11c0: 49 4e 45 4e 4f 49 53 45 20 31 0a 7d 0a 0a 69 66  INENOISE 1.}..if
11d0: 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20   {[string match 
11e0: 2a 2d 73 6f 6c 61 72 69 73 2a 20 5b 67 65 74 2d  *-solaris* [get-
11f0: 64 65 66 69 6e 65 20 68 6f 73 74 5d 5d 7d 20 7b  define host]]} {
1200: 0a 20 20 20 20 64 65 66 69 6e 65 2d 61 70 70 65  .    define-appe
1210: 6e 64 20 45 58 54 52 41 5f 43 46 4c 41 47 53 20  nd EXTRA_CFLAGS 
1220: 7b 2d 44 5f 58 4f 50 45 4e 5f 53 4f 55 52 43 45  {-D_XOPEN_SOURCE
1230: 3d 35 30 30 20 2d 44 5f 5f 45 58 54 45 4e 53 49  =500 -D__EXTENSI
1240: 4f 4e 53 5f 5f 7d 0a 7d 0a 0a 69 66 20 7b 5b 6f  ONS__}.}..if {[o
1250: 70 74 2d 62 6f 6f 6c 20 66 6f 73 73 69 6c 2d 64  pt-bool fossil-d
1260: 65 62 75 67 5d 7d 20 7b 0a 20 20 20 20 64 65 66  ebug]} {.    def
1270: 69 6e 65 2d 61 70 70 65 6e 64 20 45 58 54 52 41  ine-append EXTRA
1280: 5f 43 46 4c 41 47 53 20 2d 44 46 4f 53 53 49 4c  _CFLAGS -DFOSSIL
1290: 5f 44 45 42 55 47 0a 20 20 20 20 6d 73 67 2d 72  _DEBUG.    msg-r
12a0: 65 73 75 6c 74 20 22 44 65 62 75 67 67 69 6e 67  esult "Debugging
12b0: 20 73 75 70 70 6f 72 74 20 65 6e 61 62 6c 65 64   support enabled
12c0: 22 0a 7d 0a 0a 69 66 20 7b 5b 6f 70 74 2d 62 6f  ".}..if {[opt-bo
12d0: 6f 6c 20 77 69 74 68 2d 73 65 65 5d 7d 20 7b 0a  ol with-see]} {.
12e0: 20 20 20 20 64 65 66 69 6e 65 2d 61 70 70 65 6e      define-appen
12f0: 64 20 45 58 54 52 41 5f 43 46 4c 41 47 53 20 2d  d EXTRA_CFLAGS -
1300: 44 55 53 45 5f 53 45 45 0a 20 20 20 20 64 65 66  DUSE_SEE.    def
1310: 69 6e 65 20 55 53 45 5f 53 45 45 20 31 0a 20 20  ine USE_SEE 1.  
1320: 20 20 6d 73 67 2d 72 65 73 75 6c 74 20 22 45 6e    msg-result "En
1330: 61 62 6c 69 6e 67 20 65 6e 63 72 79 70 74 69 6f  abling encryptio
1340: 6e 20 73 75 70 70 6f 72 74 22 0a 7d 0a 0a 69 66  n support".}..if
1350: 20 7b 5b 6f 70 74 2d 62 6f 6f 6c 20 6a 73 6f 6e   {[opt-bool json
1360: 5d 7d 20 7b 0a 20 20 20 20 23 20 52 65 6d 69 6e  ]} {.    # Remin
1370: 64 65 72 2f 46 49 58 4d 45 20 28 73 74 65 70 68  der/FIXME (steph
1380: 61 6e 29 3a 20 46 4f 53 53 49 4c 5f 45 4e 41 42  an): FOSSIL_ENAB
1390: 4c 45 5f 4a 53 4f 4e 0a 20 20 20 20 23 20 69 73  LE_JSON.    # is
13a0: 20 72 65 71 75 69 72 65 64 20 69 6e 20 74 68 65   required in the
13b0: 20 43 46 4c 41 47 53 20 62 65 63 61 75 73 65 20   CFLAGS because 
13c0: 6a 73 6f 6e 2a 2e 63 0a 20 20 20 20 23 20 68 61  json*.c.    # ha
13d0: 76 65 20 23 69 66 64 65 66 20 67 75 61 72 64 73  ve #ifdef guards
13e0: 20 61 72 6f 75 6e 64 20 74 68 65 20 77 68 6f 6c   around the whol
13f0: 65 20 66 69 6c 65 20 77 69 74 68 6f 75 74 0a 20  e file without. 
1400: 20 20 20 23 20 72 65 61 64 69 6e 67 20 63 6f 6e     # reading con
1410: 66 69 67 2e 68 20 66 69 72 73 74 2e 0a 20 20 20  fig.h first..   
1420: 20 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20 45   define-append E
1430: 58 54 52 41 5f 43 46 4c 41 47 53 20 2d 44 46 4f  XTRA_CFLAGS -DFO
1440: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e  SSIL_ENABLE_JSON
1450: 0a 20 20 20 20 64 65 66 69 6e 65 20 46 4f 53 53  .    define FOSS
1460: 49 4c 5f 45 4e 41 42 4c 45 5f 4a 53 4f 4e 0a 20  IL_ENABLE_JSON. 
1470: 20 20 20 6d 73 67 2d 72 65 73 75 6c 74 20 22 4a     msg-result "J
1480: 53 4f 4e 20 73 75 70 70 6f 72 74 20 65 6e 61 62  SON support enab
1490: 6c 65 64 22 0a 7d 0a 0a 69 66 20 7b 5b 6f 70 74  led".}..if {[opt
14a0: 2d 62 6f 6f 6c 20 77 69 74 68 2d 6c 65 67 61 63  -bool with-legac
14b0: 79 2d 6d 76 2d 72 6d 5d 7d 20 7b 0a 20 20 20 20  y-mv-rm]} {.    
14c0: 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20 45 58  define-append EX
14d0: 54 52 41 5f 43 46 4c 41 47 53 20 2d 44 46 4f 53  TRA_CFLAGS -DFOS
14e0: 53 49 4c 5f 45 4e 41 42 4c 45 5f 4c 45 47 41 43  SIL_ENABLE_LEGAC
14f0: 59 5f 4d 56 5f 52 4d 0a 20 20 20 20 64 65 66 69  Y_MV_RM.    defi
1500: 6e 65 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45  ne FOSSIL_ENABLE
1510: 5f 4c 45 47 41 43 59 5f 4d 56 5f 52 4d 0a 20 20  _LEGACY_MV_RM.  
1520: 20 20 6d 73 67 2d 72 65 73 75 6c 74 20 22 4c 65    msg-result "Le
1530: 67 61 63 79 20 6d 76 2f 72 6d 20 73 75 70 70 6f  gacy mv/rm suppo
1540: 72 74 20 65 6e 61 62 6c 65 64 22 0a 7d 0a 0a 69  rt enabled".}..i
1550: 66 20 7b 5b 6f 70 74 2d 62 6f 6f 6c 20 77 69 74  f {[opt-bool wit
1560: 68 2d 65 78 65 63 2d 72 65 6c 2d 70 61 74 68 73  h-exec-rel-paths
1570: 5d 7d 20 7b 0a 20 20 20 20 64 65 66 69 6e 65 2d  ]} {.    define-
1580: 61 70 70 65 6e 64 20 45 58 54 52 41 5f 43 46 4c  append EXTRA_CFL
1590: 41 47 53 20 2d 44 46 4f 53 53 49 4c 5f 45 4e 41  AGS -DFOSSIL_ENA
15a0: 42 4c 45 5f 45 58 45 43 5f 52 45 4c 5f 50 41 54  BLE_EXEC_REL_PAT
15b0: 48 53 0a 20 20 20 20 64 65 66 69 6e 65 20 46 4f  HS.    define FO
15c0: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 45 58 45 43  SSIL_ENABLE_EXEC
15d0: 5f 52 45 4c 5f 50 41 54 48 53 0a 20 20 20 20 6d  _REL_PATHS.    m
15e0: 73 67 2d 72 65 73 75 6c 74 20 22 52 65 6c 61 74  sg-result "Relat
15f0: 69 76 65 20 70 61 74 68 73 20 69 6e 20 65 78 74  ive paths in ext
1600: 65 72 6e 61 6c 20 64 69 66 66 2f 67 64 69 66 66  ernal diff/gdiff
1610: 20 65 6e 61 62 6c 65 64 22 0a 7d 0a 0a 69 66 20   enabled".}..if 
1620: 7b 5b 6f 70 74 2d 62 6f 6f 6c 20 77 69 74 68 2d  {[opt-bool with-
1630: 74 68 31 2d 64 6f 63 73 5d 7d 20 7b 0a 20 20 20  th1-docs]} {.   
1640: 20 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20 45   define-append E
1650: 58 54 52 41 5f 43 46 4c 41 47 53 20 2d 44 46 4f  XTRA_CFLAGS -DFO
1660: 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f  SSIL_ENABLE_TH1_
1670: 44 4f 43 53 0a 20 20 20 20 64 65 66 69 6e 65 20  DOCS.    define 
1680: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 48  FOSSIL_ENABLE_TH
1690: 31 5f 44 4f 43 53 0a 20 20 20 20 6d 73 67 2d 72  1_DOCS.    msg-r
16a0: 65 73 75 6c 74 20 22 54 48 31 20 65 6d 62 65 64  esult "TH1 embed
16b0: 64 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  ded documentatio
16c0: 6e 20 73 75 70 70 6f 72 74 20 65 6e 61 62 6c 65  n support enable
16d0: 64 22 0a 7d 0a 0a 69 66 20 7b 5b 6f 70 74 2d 62  d".}..if {[opt-b
16e0: 6f 6f 6c 20 77 69 74 68 2d 74 68 31 2d 68 6f 6f  ool with-th1-hoo
16f0: 6b 73 5d 7d 20 7b 0a 20 20 20 20 64 65 66 69 6e  ks]} {.    defin
1700: 65 2d 61 70 70 65 6e 64 20 45 58 54 52 41 5f 43  e-append EXTRA_C
1710: 46 4c 41 47 53 20 2d 44 46 4f 53 53 49 4c 5f 45  FLAGS -DFOSSIL_E
1720: 4e 41 42 4c 45 5f 54 48 31 5f 48 4f 4f 4b 53 0a  NABLE_TH1_HOOKS.
1730: 20 20 20 20 64 65 66 69 6e 65 20 46 4f 53 53 49      define FOSSI
1740: 4c 5f 45 4e 41 42 4c 45 5f 54 48 31 5f 48 4f 4f  L_ENABLE_TH1_HOO
1750: 4b 53 0a 20 20 20 20 6d 73 67 2d 72 65 73 75 6c  KS.    msg-resul
1760: 74 20 22 54 48 31 20 68 6f 6f 6b 73 20 73 75 70  t "TH1 hooks sup
1770: 70 6f 72 74 20 65 6e 61 62 6c 65 64 22 0a 7d 0a  port enabled".}.
1780: 0a 23 69 66 20 7b 5b 6f 70 74 2d 62 6f 6f 6c 20  .#if {[opt-bool 
1790: 6d 61 72 6b 64 6f 77 6e 5d 7d 20 7b 0a 23 20 20  markdown]} {.#  
17a0: 20 20 23 20 6e 6f 2d 6f 70 2e 20 20 4d 61 72 6b    # no-op.  Mark
17b0: 64 6f 77 6e 20 69 73 20 6e 6f 77 20 65 6e 61 62  down is now enab
17c0: 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2e 0a  led by default..
17d0: 23 20 20 20 20 6d 73 67 2d 72 65 73 75 6c 74 20  #    msg-result 
17e0: 22 4d 61 72 6b 64 6f 77 6e 20 73 75 70 70 6f 72  "Markdown suppor
17f0: 74 20 65 6e 61 62 6c 65 64 22 0a 23 7d 0a 0a 69  t enabled".#}..i
1800: 66 20 7b 5b 6f 70 74 2d 62 6f 6f 6c 20 73 74 61  f {[opt-bool sta
1810: 74 69 63 5d 7d 20 7b 0a 20 20 20 20 23 20 58 58  tic]} {.    # XX
1820: 58 3a 20 54 68 69 73 20 77 69 6c 6c 20 6e 6f 74  X: This will not
1830: 20 77 6f 72 6b 20 6f 6e 20 61 6c 6c 20 73 79 73   work on all sys
1840: 74 65 6d 73 2e 0a 20 20 20 20 64 65 66 69 6e 65  tems..    define
1850: 2d 61 70 70 65 6e 64 20 45 58 54 52 41 5f 4c 44  -append EXTRA_LD
1860: 46 4c 41 47 53 20 2d 73 74 61 74 69 63 0a 20 20  FLAGS -static.  
1870: 20 20 6d 73 67 2d 72 65 73 75 6c 74 20 22 54 72    msg-result "Tr
1880: 79 69 6e 67 20 74 6f 20 6c 69 6e 6b 20 73 74 61  ying to link sta
1890: 74 69 63 61 6c 6c 79 22 0a 7d 20 65 6c 73 65 20  tically".} else 
18a0: 7b 0a 20 20 20 20 64 65 66 69 6e 65 2d 61 70 70  {.    define-app
18b0: 65 6e 64 20 45 58 54 52 41 5f 43 46 4c 41 47 53  end EXTRA_CFLAGS
18c0: 20 2d 44 46 4f 53 53 49 4c 5f 44 59 4e 41 4d 49   -DFOSSIL_DYNAMI
18d0: 43 5f 42 55 49 4c 44 3d 31 0a 20 20 20 20 64 65  C_BUILD=1.    de
18e0: 66 69 6e 65 20 46 4f 53 53 49 4c 5f 44 59 4e 41  fine FOSSIL_DYNA
18f0: 4d 49 43 5f 42 55 49 4c 44 0a 7d 0a 0a 23 20 48  MIC_BUILD.}..# H
1900: 65 6c 70 65 72 20 66 6f 72 20 4f 70 65 6e 53 53  elper for OpenSS
1910: 4c 20 63 68 65 63 6b 69 6e 67 0a 70 72 6f 63 20  L checking.proc 
1920: 63 68 65 63 6b 2d 66 6f 72 2d 6f 70 65 6e 73 73  check-for-openss
1930: 6c 20 7b 6d 73 67 20 7b 63 66 6c 61 67 73 20 7b  l {msg {cflags {
1940: 7d 7d 20 7b 6c 69 62 73 20 7b 2d 6c 73 73 6c 20  }} {libs {-lssl 
1950: 2d 6c 63 72 79 70 74 6f 7d 7d 7d 20 7b 0a 20 20  -lcrypto}}} {.  
1960: 20 20 6d 73 67 2d 63 68 65 63 6b 69 6e 67 20 22    msg-checking "
1970: 43 68 65 63 6b 69 6e 67 20 66 6f 72 20 24 6d 73  Checking for $ms
1980: 67 2e 2e 2e 22 0a 20 20 20 20 73 65 74 20 72 63  g...".    set rc
1990: 20 30 0a 20 20 20 20 69 66 20 7b 5b 69 73 5f 6d   0.    if {[is_m
19a0: 69 6e 67 77 5d 7d 20 7b 0a 20 20 20 20 20 20 20  ingw]} {.       
19b0: 20 6c 61 70 70 65 6e 64 20 6c 69 62 73 20 2d 6c   lappend libs -l
19c0: 67 64 69 33 32 20 2d 6c 77 73 6f 63 6b 33 32 20  gdi32 -lwsock32 
19d0: 2d 6c 63 72 79 70 74 33 32 0a 20 20 20 20 7d 0a  -lcrypt32.    }.
19e0: 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78      if {[info ex
19f0: 69 73 74 73 20 3a 3a 7a 6c 69 62 5f 6c 69 62 5d  ists ::zlib_lib]
1a00: 7d 20 7b 0a 20 20 20 20 20 20 20 20 6c 61 70 70  } {.        lapp
1a10: 65 6e 64 20 6c 69 62 73 20 24 3a 3a 7a 6c 69 62  end libs $::zlib
1a20: 5f 6c 69 62 0a 20 20 20 20 7d 0a 20 20 20 20 6d  _lib.    }.    m
1a30: 73 67 2d 71 75 69 65 74 20 63 63 2d 77 69 74 68  sg-quiet cc-with
1a40: 20 5b 6c 69 73 74 20 2d 63 66 6c 61 67 73 20 24   [list -cflags $
1a50: 63 66 6c 61 67 73 20 2d 6c 69 62 73 20 24 6c 69  cflags -libs $li
1a60: 62 73 5d 20 7b 0a 20 20 20 20 20 20 20 20 69 66  bs] {.        if
1a70: 20 7b 5b 63 63 2d 63 68 65 63 6b 2d 69 6e 63 6c   {[cc-check-incl
1a80: 75 64 65 73 20 6f 70 65 6e 73 73 6c 2f 73 73 6c  udes openssl/ssl
1a90: 2e 68 5d 20 26 26 20 5c 0a 20 20 20 20 20 20 20  .h] && \.       
1aa0: 20 20 20 20 20 20 20 20 20 5b 63 63 2d 63 68 65           [cc-che
1ab0: 63 6b 2d 66 75 6e 63 74 69 6f 6e 73 20 53 53 4c  ck-functions SSL
1ac0: 5f 6e 65 77 5d 7d 20 7b 0a 20 20 20 20 20 20 20  _new]} {.       
1ad0: 20 20 20 20 20 69 6e 63 72 20 72 63 0a 20 20 20       incr rc.   
1ae0: 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20       }.    }.   
1af0: 20 69 66 20 7b 21 24 72 63 20 26 26 20 21 5b 69   if {!$rc && ![i
1b00: 73 5f 6d 69 6e 67 77 5d 7d 20 7b 0a 20 20 20 20  s_mingw]} {.    
1b10: 20 20 20 20 23 20 4f 6e 20 73 6f 6d 65 20 73 79      # On some sy
1b20: 73 74 65 6d 73 2c 20 4f 70 65 6e 53 53 4c 20 61  stems, OpenSSL a
1b30: 70 70 65 61 72 73 20 74 6f 20 72 65 71 75 69 72  ppears to requir
1b40: 65 20 2d 6c 64 6c 20 74 6f 20 6c 69 6e 6b 2e 0a  e -ldl to link..
1b50: 20 20 20 20 20 20 20 20 6c 61 70 70 65 6e 64 20          lappend 
1b60: 6c 69 62 73 20 2d 6c 64 6c 0a 20 20 20 20 20 20  libs -ldl.      
1b70: 20 20 6d 73 67 2d 71 75 69 65 74 20 63 63 2d 77    msg-quiet cc-w
1b80: 69 74 68 20 5b 6c 69 73 74 20 2d 63 66 6c 61 67  ith [list -cflag
1b90: 73 20 24 63 66 6c 61 67 73 20 2d 6c 69 62 73 20  s $cflags -libs 
1ba0: 24 6c 69 62 73 5d 20 7b 0a 20 20 20 20 20 20 20  $libs] {.       
1bb0: 20 20 20 20 20 69 66 20 7b 5b 63 63 2d 63 68 65       if {[cc-che
1bc0: 63 6b 2d 69 6e 63 6c 75 64 65 73 20 6f 70 65 6e  ck-includes open
1bd0: 73 73 6c 2f 73 73 6c 2e 68 5d 20 26 26 20 5c 0a  ssl/ssl.h] && \.
1be0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1bf0: 20 20 20 20 5b 63 63 2d 63 68 65 63 6b 2d 66 75      [cc-check-fu
1c00: 6e 63 74 69 6f 6e 73 20 53 53 4c 5f 6e 65 77 5d  nctions SSL_new]
1c10: 7d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  } {.            
1c20: 20 20 20 20 69 6e 63 72 20 72 63 0a 20 20 20 20      incr rc.    
1c30: 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20          }.      
1c40: 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 69 66    }.    }.    if
1c50: 20 7b 24 72 63 7d 20 7b 0a 20 20 20 20 20 20 20   {$rc} {.       
1c60: 20 6d 73 67 2d 72 65 73 75 6c 74 20 22 6f 6b 22   msg-result "ok"
1c70: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20  .        return 
1c80: 31 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20  1.    } else {. 
1c90: 20 20 20 20 20 20 20 6d 73 67 2d 72 65 73 75 6c         msg-resul
1ca0: 74 20 22 6e 6f 22 0a 20 20 20 20 20 20 20 20 72  t "no".        r
1cb0: 65 74 75 72 6e 20 30 0a 20 20 20 20 7d 0a 7d 0a  eturn 0.    }.}.
1cc0: 0a 69 66 20 7b 5b 6f 70 74 2d 62 6f 6f 6c 20 77  .if {[opt-bool w
1cd0: 69 74 68 2d 6d 69 6e 69 7a 5d 7d 20 7b 0a 20 20  ith-miniz]} {.  
1ce0: 20 20 64 65 66 69 6e 65 20 46 4f 53 53 49 4c 5f    define FOSSIL_
1cf0: 45 4e 41 42 4c 45 5f 4d 49 4e 49 5a 20 31 0a 20  ENABLE_MINIZ 1. 
1d00: 20 20 20 6d 73 67 2d 72 65 73 75 6c 74 20 22 55     msg-result "U
1d10: 73 69 6e 67 20 6d 69 6e 69 7a 20 66 6f 72 20 63  sing miniz for c
1d20: 6f 6d 70 72 65 73 73 69 6f 6e 22 0a 7d 20 65 6c  ompression".} el
1d30: 73 65 20 7b 0a 20 20 20 20 23 20 43 68 65 63 6b  se {.    # Check
1d40: 20 66 6f 72 20 7a 6c 69 62 2c 20 75 73 69 6e 67   for zlib, using
1d50: 20 74 68 65 20 67 69 76 65 6e 20 6c 6f 63 61 74   the given locat
1d60: 69 6f 6e 20 69 66 20 73 70 65 63 69 66 69 65 64  ion if specified
1d70: 0a 20 20 20 20 73 65 74 20 7a 6c 69 62 70 61 74  .    set zlibpat
1d80: 68 20 5b 6f 70 74 2d 76 61 6c 20 77 69 74 68 2d  h [opt-val with-
1d90: 7a 6c 69 62 5d 0a 20 20 20 20 69 66 20 7b 24 7a  zlib].    if {$z
1da0: 6c 69 62 70 61 74 68 20 65 71 20 22 74 72 65 65  libpath eq "tree
1db0: 22 7d 20 7b 0a 20 20 20 20 20 20 20 20 73 65 74  "} {.        set
1dc0: 20 7a 6c 69 62 64 69 72 20 5b 66 69 6c 65 20 64   zlibdir [file d
1dd0: 69 72 6e 61 6d 65 20 24 61 75 74 6f 73 65 74 75  irname $autosetu
1de0: 70 28 64 69 72 29 5d 2f 63 6f 6d 70 61 74 2f 7a  p(dir)]/compat/z
1df0: 6c 69 62 0a 20 20 20 20 20 20 20 20 69 66 20 7b  lib.        if {
1e00: 21 5b 66 69 6c 65 20 69 73 64 69 72 65 63 74 6f  ![file isdirecto
1e10: 72 79 20 24 7a 6c 69 62 64 69 72 5d 7d 20 7b 0a  ry $zlibdir]} {.
1e20: 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72              user
1e30: 2d 65 72 72 6f 72 20 22 54 68 65 20 7a 6c 69 62  -error "The zlib
1e40: 20 69 6e 20 73 6f 75 72 63 65 20 74 72 65 65 20   in source tree 
1e50: 64 69 72 65 63 74 6f 72 79 20 64 6f 65 73 20 6e  directory does n
1e60: 6f 74 20 65 78 69 73 74 22 0a 20 20 20 20 20 20  ot exist".      
1e70: 20 20 7d 0a 20 20 20 20 20 20 20 20 63 63 2d 77    }.        cc-w
1e80: 69 74 68 20 5b 6c 69 73 74 20 2d 63 66 6c 61 67  ith [list -cflag
1e90: 73 20 22 2d 49 24 7a 6c 69 62 64 69 72 20 2d 4c  s "-I$zlibdir -L
1ea0: 24 7a 6c 69 62 64 69 72 22 5d 0a 20 20 20 20 20  $zlibdir"].     
1eb0: 20 20 20 64 65 66 69 6e 65 2d 61 70 70 65 6e 64     define-append
1ec0: 20 45 58 54 52 41 5f 43 46 4c 41 47 53 20 2d 49   EXTRA_CFLAGS -I
1ed0: 24 7a 6c 69 62 64 69 72 0a 20 20 20 20 20 20 20  $zlibdir.       
1ee0: 20 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20 4c   define-append L
1ef0: 49 42 53 20 24 7a 6c 69 62 64 69 72 2f 6c 69 62  IBS $zlibdir/lib
1f00: 7a 2e 61 0a 20 20 20 20 20 20 20 20 73 65 74 20  z.a.        set 
1f10: 3a 3a 7a 6c 69 62 5f 6c 69 62 20 24 7a 6c 69 62  ::zlib_lib $zlib
1f20: 64 69 72 2f 6c 69 62 7a 2e 61 0a 20 20 20 20 20  dir/libz.a.     
1f30: 20 20 20 6d 73 67 2d 72 65 73 75 6c 74 20 22 55     msg-result "U
1f40: 73 69 6e 67 20 7a 6c 69 62 20 69 6e 20 73 6f 75  sing zlib in sou
1f50: 72 63 65 20 74 72 65 65 22 0a 20 20 20 20 7d 20  rce tree".    } 
1f60: 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 69  else {.        i
1f70: 66 20 7b 24 7a 6c 69 62 70 61 74 68 20 6e 69 20  f {$zlibpath ni 
1f80: 7b 61 75 74 6f 20 22 22 7d 7d 20 7b 0a 20 20 20  {auto ""}} {.   
1f90: 20 20 20 20 20 20 20 20 20 63 63 2d 77 69 74 68           cc-with
1fa0: 20 5b 6c 69 73 74 20 2d 63 66 6c 61 67 73 20 22   [list -cflags "
1fb0: 2d 49 24 7a 6c 69 62 70 61 74 68 20 2d 4c 24 7a  -I$zlibpath -L$z
1fc0: 6c 69 62 70 61 74 68 22 5d 0a 20 20 20 20 20 20  libpath"].      
1fd0: 20 20 20 20 20 20 64 65 66 69 6e 65 2d 61 70 70        define-app
1fe0: 65 6e 64 20 45 58 54 52 41 5f 43 46 4c 41 47 53  end EXTRA_CFLAGS
1ff0: 20 2d 49 24 7a 6c 69 62 70 61 74 68 0a 20 20 20   -I$zlibpath.   
2000: 20 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 2d           define-
2010: 61 70 70 65 6e 64 20 45 58 54 52 41 5f 4c 44 46  append EXTRA_LDF
2020: 4c 41 47 53 20 2d 4c 24 7a 6c 69 62 70 61 74 68  LAGS -L$zlibpath
2030: 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67  .            msg
2040: 2d 72 65 73 75 6c 74 20 22 55 73 69 6e 67 20 7a  -result "Using z
2050: 6c 69 62 20 66 72 6f 6d 20 24 7a 6c 69 62 70 61  lib from $zlibpa
2060: 74 68 22 0a 20 20 20 20 20 20 20 20 7d 0a 20 20  th".        }.  
2070: 20 20 20 20 20 20 69 66 20 7b 21 5b 63 63 2d 63        if {![cc-c
2080: 68 65 63 6b 2d 69 6e 63 6c 75 64 65 73 20 7a 6c  heck-includes zl
2090: 69 62 2e 68 5d 20 7c 7c 20 21 5b 63 68 65 63 6b  ib.h] || ![check
20a0: 2d 66 75 6e 63 74 69 6f 6e 2d 69 6e 2d 6c 69 62  -function-in-lib
20b0: 20 69 6e 66 6c 61 74 65 45 6e 64 20 7a 5d 7d 20   inflateEnd z]} 
20c0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 73  {.            us
20d0: 65 72 2d 65 72 72 6f 72 20 22 7a 6c 69 62 20 6e  er-error "zlib n
20e0: 6f 74 20 66 6f 75 6e 64 20 70 6c 65 61 73 65 20  ot found please 
20f0: 69 6e 73 74 61 6c 6c 20 69 74 20 6f 72 20 73 70  install it or sp
2100: 65 63 69 66 79 20 74 68 65 20 6c 6f 63 61 74 69  ecify the locati
2110: 6f 6e 20 77 69 74 68 20 2d 2d 77 69 74 68 2d 7a  on with --with-z
2120: 6c 69 62 22 0a 20 20 20 20 20 20 20 20 7d 0a 20  lib".        }. 
2130: 20 20 20 20 20 20 20 73 65 74 20 3a 3a 7a 6c 69         set ::zli
2140: 62 5f 6c 69 62 20 2d 6c 7a 0a 20 20 20 20 7d 0a  b_lib -lz.    }.
2150: 7d 0a 0a 73 65 74 20 73 73 6c 64 69 72 73 20 5b  }..set ssldirs [
2160: 6f 70 74 2d 76 61 6c 20 77 69 74 68 2d 6f 70 65  opt-val with-ope
2170: 6e 73 73 6c 5d 0a 69 66 20 7b 24 73 73 6c 64 69  nssl].if {$ssldi
2180: 72 73 20 6e 65 20 22 6e 6f 6e 65 22 7d 20 7b 0a  rs ne "none"} {.
2190: 20 20 20 20 69 66 20 7b 5b 6f 70 74 2d 62 6f 6f      if {[opt-boo
21a0: 6c 20 77 69 74 68 2d 6d 69 6e 69 7a 5d 7d 20 7b  l with-miniz]} {
21b0: 0a 20 20 20 20 20 20 20 20 75 73 65 72 2d 65 72  .        user-er
21c0: 72 6f 72 20 22 54 68 65 20 2d 2d 77 69 74 68 2d  ror "The --with-
21d0: 6d 69 6e 69 7a 20 6f 70 74 69 6f 6e 20 69 73 20  miniz option is 
21e0: 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74  incompatible wit
21f0: 68 20 4f 70 65 6e 53 53 4c 22 0a 20 20 20 20 7d  h OpenSSL".    }
2200: 0a 20 20 20 20 73 65 74 20 66 6f 75 6e 64 20 30  .    set found 0
2210: 0a 20 20 20 20 69 66 20 7b 24 73 73 6c 64 69 72  .    if {$ssldir
2220: 73 20 65 71 20 22 74 72 65 65 22 7d 20 7b 0a 20  s eq "tree"} {. 
2230: 20 20 20 20 20 20 20 73 65 74 20 73 73 6c 64 69         set ssldi
2240: 72 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20  r [file dirname 
2250: 24 61 75 74 6f 73 65 74 75 70 28 64 69 72 29 5d  $autosetup(dir)]
2260: 2f 63 6f 6d 70 61 74 2f 6f 70 65 6e 73 73 6c 0a  /compat/openssl.
2270: 20 20 20 20 20 20 20 20 69 66 20 7b 21 5b 66 69          if {![fi
2280: 6c 65 20 69 73 64 69 72 65 63 74 6f 72 79 20 24  le isdirectory $
2290: 73 73 6c 64 69 72 5d 7d 20 7b 0a 20 20 20 20 20  ssldir]} {.     
22a0: 20 20 20 20 20 20 20 75 73 65 72 2d 65 72 72 6f         user-erro
22b0: 72 20 22 54 68 65 20 4f 70 65 6e 53 53 4c 20 69  r "The OpenSSL i
22c0: 6e 20 73 6f 75 72 63 65 20 74 72 65 65 20 64 69  n source tree di
22d0: 72 65 63 74 6f 72 79 20 64 6f 65 73 20 6e 6f 74  rectory does not
22e0: 20 65 78 69 73 74 22 0a 20 20 20 20 20 20 20 20   exist".        
22f0: 7d 0a 20 20 20 20 20 20 20 20 73 65 74 20 6d 73  }.        set ms
2300: 67 20 22 73 73 6c 20 69 6e 20 24 73 73 6c 64 69  g "ssl in $ssldi
2310: 72 22 0a 20 20 20 20 20 20 20 20 73 65 74 20 63  r".        set c
2320: 66 6c 61 67 73 20 22 2d 49 24 73 73 6c 64 69 72  flags "-I$ssldir
2330: 2f 69 6e 63 6c 75 64 65 22 0a 20 20 20 20 20 20  /include".      
2340: 20 20 73 65 74 20 6c 64 66 6c 61 67 73 20 22 2d    set ldflags "-
2350: 4c 24 73 73 6c 64 69 72 22 0a 20 20 20 20 20 20  L$ssldir".      
2360: 20 20 73 65 74 20 73 73 6c 6c 69 62 73 20 22 24    set ssllibs "$
2370: 73 73 6c 64 69 72 2f 6c 69 62 73 73 6c 2e 61 20  ssldir/libssl.a 
2380: 24 73 73 6c 64 69 72 2f 6c 69 62 63 72 79 70 74  $ssldir/libcrypt
2390: 6f 2e 61 22 0a 20 20 20 20 20 20 20 20 73 65 74  o.a".        set
23a0: 20 66 6f 75 6e 64 20 5b 63 68 65 63 6b 2d 66 6f   found [check-fo
23b0: 72 2d 6f 70 65 6e 73 73 6c 20 22 73 73 6c 20 69  r-openssl "ssl i
23c0: 6e 20 73 6f 75 72 63 65 20 74 72 65 65 22 20 22  n source tree" "
23d0: 24 63 66 6c 61 67 73 20 24 6c 64 66 6c 61 67 73  $cflags $ldflags
23e0: 22 20 24 73 73 6c 6c 69 62 73 5d 0a 20 20 20 20  " $ssllibs].    
23f0: 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20  } else {.       
2400: 20 69 66 20 7b 24 73 73 6c 64 69 72 73 20 69 6e   if {$ssldirs in
2410: 20 7b 61 75 74 6f 20 22 22 7d 7d 20 7b 0a 20 20   {auto ""}} {.  
2420: 20 20 20 20 20 20 20 20 20 20 63 61 74 63 68 20            catch 
2430: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  {.              
2440: 20 20 73 65 74 20 63 66 6c 61 67 73 20 5b 65 78    set cflags [ex
2450: 65 63 20 70 6b 67 2d 63 6f 6e 66 69 67 20 6f 70  ec pkg-config op
2460: 65 6e 73 73 6c 20 2d 2d 63 66 6c 61 67 73 2d 6f  enssl --cflags-o
2470: 6e 6c 79 2d 49 5d 0a 20 20 20 20 20 20 20 20 20  nly-I].         
2480: 20 20 20 20 20 20 20 73 65 74 20 6c 64 66 6c 61         set ldfla
2490: 67 73 20 5b 65 78 65 63 20 70 6b 67 2d 63 6f 6e  gs [exec pkg-con
24a0: 66 69 67 20 6f 70 65 6e 73 73 6c 20 2d 2d 6c 69  fig openssl --li
24b0: 62 73 2d 6f 6e 6c 79 2d 4c 5d 0a 20 20 20 20 20  bs-only-L].     
24c0: 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 66             set f
24d0: 6f 75 6e 64 20 5b 63 68 65 63 6b 2d 66 6f 72 2d  ound [check-for-
24e0: 6f 70 65 6e 73 73 6c 20 22 73 73 6c 20 76 69 61  openssl "ssl via
24f0: 20 70 6b 67 2d 63 6f 6e 66 69 67 22 20 22 24 63   pkg-config" "$c
2500: 66 6c 61 67 73 20 24 6c 64 66 6c 61 67 73 22 5d  flags $ldflags"]
2510: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 6d  .            } m
2520: 73 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 69  sg.            i
2530: 66 20 7b 21 24 66 6f 75 6e 64 7d 20 7b 0a 20 20  f {!$found} {.  
2540: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65                se
2550: 74 20 73 73 6c 64 69 72 73 20 22 7b 7d 20 2f 75  t ssldirs "{} /u
2560: 73 72 2f 73 66 77 20 2f 75 73 72 2f 6c 6f 63 61  sr/sfw /usr/loca
2570: 6c 2f 73 73 6c 20 2f 75 73 72 2f 6c 69 62 2f 73  l/ssl /usr/lib/s
2580: 73 6c 20 2f 75 73 72 2f 73 73 6c 20 5c 0a 20 20  sl /usr/ssl \.  
2590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
25a0: 20 20 20 20 20 20 20 20 20 20 20 2f 75 73 72 2f             /usr/
25b0: 70 6b 67 20 2f 75 73 72 2f 6c 6f 63 61 6c 20 2f  pkg /usr/local /
25c0: 75 73 72 20 2f 75 73 72 2f 6c 6f 63 61 6c 2f 6f  usr /usr/local/o
25d0: 70 74 2f 6f 70 65 6e 73 73 6c 22 0a 20 20 20 20  pt/openssl".    
25e0: 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20          }.      
25f0: 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 7b    }.        if {
2600: 21 24 66 6f 75 6e 64 7d 20 7b 0a 20 20 20 20 20  !$found} {.     
2610: 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 64         foreach d
2620: 69 72 20 24 73 73 6c 64 69 72 73 20 7b 0a 20 20  ir $ssldirs {.  
2630: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
2640: 20 7b 24 64 69 72 20 65 71 20 22 22 7d 20 7b 0a   {$dir eq ""} {.
2650: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2660: 20 20 20 20 73 65 74 20 6d 73 67 20 22 73 79 73      set msg "sys
2670: 74 65 6d 20 73 73 6c 22 0a 20 20 20 20 20 20 20  tem ssl".       
2680: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74               set
2690: 20 63 66 6c 61 67 73 20 22 22 0a 20 20 20 20 20   cflags "".     
26a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73                 s
26b0: 65 74 20 6c 64 66 6c 61 67 73 20 22 22 0a 20 20  et ldflags "".  
26c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20                } 
26d0: 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20  else {.         
26e0: 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 6d             set m
26f0: 73 67 20 22 73 73 6c 20 69 6e 20 24 64 69 72 22  sg "ssl in $dir"
2700: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
2710: 20 20 20 20 20 73 65 74 20 63 66 6c 61 67 73 20       set cflags 
2720: 22 2d 49 24 64 69 72 2f 69 6e 63 6c 75 64 65 22  "-I$dir/include"
2730: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
2740: 20 20 20 20 20 73 65 74 20 6c 64 66 6c 61 67 73       set ldflags
2750: 20 22 2d 4c 24 64 69 72 2f 6c 69 62 22 0a 20 20   "-L$dir/lib".  
2760: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a                }.
2770: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2780: 69 66 20 7b 5b 63 68 65 63 6b 2d 66 6f 72 2d 6f  if {[check-for-o
2790: 70 65 6e 73 73 6c 20 24 6d 73 67 20 22 24 63 66  penssl $msg "$cf
27a0: 6c 61 67 73 20 24 6c 64 66 6c 61 67 73 22 5d 7d  lags $ldflags"]}
27b0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   {.             
27c0: 20 20 20 20 20 20 20 69 6e 63 72 20 66 6f 75 6e         incr foun
27d0: 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  d.              
27e0: 20 20 20 20 20 20 62 72 65 61 6b 0a 20 20 20 20        break.    
27f0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20              }.  
2800: 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20            }.    
2810: 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20      }.    }.    
2820: 69 66 20 7b 24 66 6f 75 6e 64 7d 20 7b 0a 20 20  if {$found} {.  
2830: 20 20 20 20 20 20 64 65 66 69 6e 65 20 46 4f 53        define FOS
2840: 53 49 4c 5f 45 4e 41 42 4c 45 5f 53 53 4c 0a 20  SIL_ENABLE_SSL. 
2850: 20 20 20 20 20 20 20 64 65 66 69 6e 65 2d 61 70         define-ap
2860: 70 65 6e 64 20 45 58 54 52 41 5f 43 46 4c 41 47  pend EXTRA_CFLAG
2870: 53 20 24 63 66 6c 61 67 73 0a 20 20 20 20 20 20  S $cflags.      
2880: 20 20 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20    define-append 
2890: 45 58 54 52 41 5f 4c 44 46 4c 41 47 53 20 24 6c  EXTRA_LDFLAGS $l
28a0: 64 66 6c 61 67 73 0a 20 20 20 20 20 20 20 20 69  dflags.        i
28b0: 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20  f {[info exists 
28c0: 73 73 6c 6c 69 62 73 5d 7d 20 7b 0a 20 20 20 20  ssllibs]} {.    
28d0: 20 20 20 20 20 20 20 20 64 65 66 69 6e 65 2d 61          define-a
28e0: 70 70 65 6e 64 20 4c 49 42 53 20 24 73 73 6c 6c  ppend LIBS $ssll
28f0: 69 62 73 0a 20 20 20 20 20 20 20 20 7d 20 65 6c  ibs.        } el
2900: 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  se {.           
2910: 20 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20 4c   define-append L
2920: 49 42 53 20 2d 6c 73 73 6c 20 2d 6c 63 72 79 70  IBS -lssl -lcryp
2930: 74 6f 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20  to.        }.   
2940: 20 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65       if {[info e
2950: 78 69 73 74 73 20 3a 3a 7a 6c 69 62 5f 6c 69 62  xists ::zlib_lib
2960: 5d 7d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20  ]} {.           
2970: 20 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20 4c   define-append L
2980: 49 42 53 20 24 3a 3a 7a 6c 69 62 5f 6c 69 62 0a  IBS $::zlib_lib.
2990: 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20          }.      
29a0: 20 20 69 66 20 7b 5b 69 73 5f 6d 69 6e 67 77 5d    if {[is_mingw]
29b0: 7d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  } {.            
29c0: 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20 4c 49  define-append LI
29d0: 42 53 20 2d 6c 67 64 69 33 32 20 2d 6c 77 73 6f  BS -lgdi32 -lwso
29e0: 63 6b 33 32 20 2d 6c 63 72 79 70 74 33 32 0a 20  ck32 -lcrypt32. 
29f0: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20         }.       
2a00: 20 6d 73 67 2d 72 65 73 75 6c 74 20 22 48 54 54   msg-result "HTT
2a10: 50 53 20 73 75 70 70 6f 72 74 20 65 6e 61 62 6c  PS support enabl
2a20: 65 64 22 0a 0a 20 20 20 20 20 20 20 20 23 20 53  ed"..        # S
2a30: 69 6c 65 6e 63 65 20 4f 70 65 6e 53 53 4c 20 64  ilence OpenSSL d
2a40: 65 70 72 65 63 61 74 69 6f 6e 20 77 61 72 6e 69  eprecation warni
2a50: 6e 67 73 20 6f 6e 20 4d 61 63 20 4f 53 20 58 20  ngs on Mac OS X 
2a60: 31 30 2e 37 2e 0a 20 20 20 20 20 20 20 20 69 66  10.7..        if
2a70: 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20   {[string match 
2a80: 2a 2d 64 61 72 77 69 6e 2a 20 5b 67 65 74 2d 64  *-darwin* [get-d
2a90: 65 66 69 6e 65 20 68 6f 73 74 5d 5d 7d 20 7b 0a  efine host]]} {.
2aa0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 7b              if {
2ab0: 5b 63 63 74 65 73 74 20 2d 63 66 6c 61 67 73 20  [cctest -cflags 
2ac0: 7b 2d 57 64 65 70 72 65 63 61 74 65 64 2d 64 65  {-Wdeprecated-de
2ad0: 63 6c 61 72 61 74 69 6f 6e 73 7d 5d 7d 20 7b 0a  clarations}]} {.
2ae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2af0: 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20 45 58  define-append EX
2b00: 54 52 41 5f 43 46 4c 41 47 53 20 2d 57 64 65 70  TRA_CFLAGS -Wdep
2b10: 72 65 63 61 74 65 64 2d 64 65 63 6c 61 72 61 74  recated-declarat
2b20: 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20  ions.           
2b30: 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20   }.        }.   
2b40: 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20   } else {.      
2b50: 20 20 75 73 65 72 2d 65 72 72 6f 72 20 22 4f 70    user-error "Op
2b60: 65 6e 53 53 4c 20 6e 6f 74 20 66 6f 75 6e 64 2e  enSSL not found.
2b70: 20 43 6f 6e 73 69 64 65 72 20 2d 2d 77 69 74 68   Consider --with
2b80: 2d 6f 70 65 6e 73 73 6c 3d 6e 6f 6e 65 20 74 6f  -openssl=none to
2b90: 20 64 69 73 61 62 6c 65 20 48 54 54 50 53 20 73   disable HTTPS s
2ba0: 75 70 70 6f 72 74 22 0a 20 20 20 20 7d 0a 7d 20  upport".    }.} 
2bb0: 65 6c 73 65 20 7b 0a 20 20 20 20 69 66 20 7b 5b  else {.    if {[
2bc0: 69 6e 66 6f 20 65 78 69 73 74 73 20 3a 3a 7a 6c  info exists ::zl
2bd0: 69 62 5f 6c 69 62 5d 7d 20 7b 0a 20 20 20 20 20  ib_lib]} {.     
2be0: 20 20 20 64 65 66 69 6e 65 2d 61 70 70 65 6e 64     define-append
2bf0: 20 4c 49 42 53 20 24 3a 3a 7a 6c 69 62 5f 6c 69   LIBS $::zlib_li
2c00: 62 0a 20 20 20 20 7d 0a 7d 0a 0a 73 65 74 20 74  b.    }.}..set t
2c10: 63 6c 70 61 74 68 20 5b 6f 70 74 2d 76 61 6c 20  clpath [opt-val 
2c20: 77 69 74 68 2d 74 63 6c 5d 0a 69 66 20 7b 24 74  with-tcl].if {$t
2c30: 63 6c 70 61 74 68 20 6e 65 20 22 22 7d 20 7b 0a  clpath ne ""} {.
2c40: 20 20 20 20 73 65 74 20 74 63 6c 70 72 69 76 61      set tclpriva
2c50: 74 65 73 74 75 62 73 20 5b 6f 70 74 2d 62 6f 6f  testubs [opt-boo
2c60: 6c 20 77 69 74 68 2d 74 63 6c 2d 70 72 69 76 61  l with-tcl-priva
2c70: 74 65 2d 73 74 75 62 73 5d 0a 20 20 20 20 23 20  te-stubs].    # 
2c80: 4e 6f 74 65 20 70 61 72 73 65 2d 74 63 6c 63 6f  Note parse-tclco
2c90: 6e 66 69 67 2d 73 68 20 69 73 20 69 6e 20 61 75  nfig-sh is in au
2ca0: 74 6f 73 65 74 75 70 2f 6c 6f 63 61 6c 2e 74 63  tosetup/local.tc
2cb0: 6c 0a 20 20 20 20 69 66 20 7b 24 74 63 6c 70 61  l.    if {$tclpa
2cc0: 74 68 20 65 71 20 22 31 22 7d 20 7b 0a 20 20 20  th eq "1"} {.   
2cd0: 20 20 20 20 20 73 65 74 20 74 63 6c 64 69 72 20       set tcldir 
2ce0: 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 24 61  [file dirname $a
2cf0: 75 74 6f 73 65 74 75 70 28 64 69 72 29 5d 2f 63  utosetup(dir)]/c
2d00: 6f 6d 70 61 74 2f 74 63 6c 2d 38 2e 36 0a 20 20  ompat/tcl-8.6.  
2d10: 20 20 20 20 20 20 69 66 20 7b 24 74 63 6c 70 72        if {$tclpr
2d20: 69 76 61 74 65 73 74 75 62 73 7d 20 7b 0a 20 20  ivatestubs} {.  
2d30: 20 20 20 20 20 20 20 20 20 20 73 65 74 20 74 63            set tc
2d40: 6c 63 6f 6e 66 69 67 28 54 43 4c 5f 49 4e 43 4c  lconfig(TCL_INCL
2d50: 55 44 45 5f 53 50 45 43 29 20 2d 49 24 74 63 6c  UDE_SPEC) -I$tcl
2d60: 64 69 72 2f 67 65 6e 65 72 69 63 0a 20 20 20 20  dir/generic.    
2d70: 20 20 20 20 20 20 20 20 73 65 74 20 74 63 6c 63          set tclc
2d80: 6f 6e 66 69 67 28 54 43 4c 5f 56 45 52 53 49 4f  onfig(TCL_VERSIO
2d90: 4e 29 20 7b 50 72 69 76 61 74 65 20 53 74 75 62  N) {Private Stub
2da0: 73 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73  s}.            s
2db0: 65 74 20 74 63 6c 63 6f 6e 66 69 67 28 54 43 4c  et tclconfig(TCL
2dc0: 5f 50 41 54 43 48 5f 4c 45 56 45 4c 29 20 7b 7d  _PATCH_LEVEL) {}
2dd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74  .            set
2de0: 20 74 63 6c 63 6f 6e 66 69 67 28 54 43 4c 5f 50   tclconfig(TCL_P
2df0: 52 45 46 49 58 29 20 24 74 63 6c 64 69 72 0a 20  REFIX) $tcldir. 
2e00: 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 74             set t
2e10: 63 6c 63 6f 6e 66 69 67 28 54 43 4c 5f 4c 44 5f  clconfig(TCL_LD_
2e20: 46 4c 41 47 53 29 20 7b 20 7d 0a 20 20 20 20 20  FLAGS) { }.     
2e30: 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20     } else {.    
2e40: 20 20 20 20 20 20 20 20 23 20 55 73 65 20 74 68          # Use th
2e50: 65 20 73 79 73 74 65 6d 20 54 63 6c 2e 20 4c 6f  e system Tcl. Lo
2e60: 6f 6b 20 69 6e 20 73 6f 6d 65 20 6c 69 6b 65 6c  ok in some likel
2e70: 79 20 70 6c 61 63 65 73 2e 0a 20 20 20 20 20 20  y places..      
2e80: 20 20 20 20 20 20 61 72 72 61 79 20 73 65 74 20        array set 
2e90: 74 63 6c 63 6f 6e 66 69 67 20 5b 70 61 72 73 65  tclconfig [parse
2ea0: 2d 74 63 6c 63 6f 6e 66 69 67 2d 73 68 20 5c 0a  -tclconfig-sh \.
2eb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2ec0: 24 74 63 6c 64 69 72 2f 75 6e 69 78 20 24 74 63  $tcldir/unix $tc
2ed0: 6c 64 69 72 2f 77 69 6e 20 5c 0a 20 20 20 20 20  ldir/win \.     
2ee0: 20 20 20 20 20 20 20 20 20 20 20 2f 75 73 72 20             /usr 
2ef0: 2f 75 73 72 2f 6c 6f 63 61 6c 20 2f 75 73 72 2f  /usr/local /usr/
2f00: 73 68 61 72 65 20 2f 6f 70 74 2f 6c 6f 63 61 6c  share /opt/local
2f10: 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65  ].            se
2f20: 74 20 6d 73 67 20 22 6f 6e 20 79 6f 75 72 20 73  t msg "on your s
2f30: 79 73 74 65 6d 22 0a 20 20 20 20 20 20 20 20 7d  ystem".        }
2f40: 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20  .    } else {.  
2f50: 20 20 20 20 20 20 61 72 72 61 79 20 73 65 74 20        array set 
2f60: 74 63 6c 63 6f 6e 66 69 67 20 5b 70 61 72 73 65  tclconfig [parse
2f70: 2d 74 63 6c 63 6f 6e 66 69 67 2d 73 68 20 24 74  -tclconfig-sh $t
2f80: 63 6c 70 61 74 68 5d 0a 20 20 20 20 20 20 20 20  clpath].        
2f90: 73 65 74 20 6d 73 67 20 22 61 74 20 24 74 63 6c  set msg "at $tcl
2fa0: 70 61 74 68 22 0a 20 20 20 20 7d 0a 20 20 20 20  path".    }.    
2fb0: 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74  if {![info exist
2fc0: 73 20 74 63 6c 63 6f 6e 66 69 67 28 54 43 4c 5f  s tclconfig(TCL_
2fd0: 49 4e 43 4c 55 44 45 5f 53 50 45 43 29 5d 7d 20  INCLUDE_SPEC)]} 
2fe0: 7b 0a 20 20 20 20 20 20 20 20 75 73 65 72 2d 65  {.        user-e
2ff0: 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 66 69 6e  rror "Cannot fin
3000: 64 20 54 63 6c 20 24 6d 73 67 22 0a 20 20 20 20  d Tcl $msg".    
3010: 7d 0a 20 20 20 20 73 65 74 20 74 63 6c 73 74 75  }.    set tclstu
3020: 62 73 20 5b 6f 70 74 2d 62 6f 6f 6c 20 77 69 74  bs [opt-bool wit
3030: 68 2d 74 63 6c 2d 73 74 75 62 73 5d 0a 20 20 20  h-tcl-stubs].   
3040: 20 69 66 20 7b 24 74 63 6c 70 72 69 76 61 74 65   if {$tclprivate
3050: 73 74 75 62 73 7d 20 7b 0a 20 20 20 20 20 20 20  stubs} {.       
3060: 20 64 65 66 69 6e 65 20 46 4f 53 53 49 4c 5f 45   define FOSSIL_E
3070: 4e 41 42 4c 45 5f 54 43 4c 5f 50 52 49 56 41 54  NABLE_TCL_PRIVAT
3080: 45 5f 53 54 55 42 53 0a 20 20 20 20 20 20 20 20  E_STUBS.        
3090: 64 65 66 69 6e 65 20 55 53 45 5f 54 43 4c 5f 53  define USE_TCL_S
30a0: 54 55 42 53 0a 20 20 20 20 7d 20 65 6c 73 65 69  TUBS.    } elsei
30b0: 66 20 7b 24 74 63 6c 73 74 75 62 73 20 26 26 20  f {$tclstubs && 
30c0: 24 74 63 6c 63 6f 6e 66 69 67 28 54 43 4c 5f 53  $tclconfig(TCL_S
30d0: 55 50 50 4f 52 54 53 5f 53 54 55 42 53 29 7d 20  UPPORTS_STUBS)} 
30e0: 7b 0a 20 20 20 20 20 20 20 20 73 65 74 20 6c 69  {.        set li
30f0: 62 73 20 22 24 74 63 6c 63 6f 6e 66 69 67 28 54  bs "$tclconfig(T
3100: 43 4c 5f 53 54 55 42 5f 4c 49 42 5f 53 50 45 43  CL_STUB_LIB_SPEC
3110: 29 22 0a 20 20 20 20 20 20 20 20 64 65 66 69 6e  )".        defin
3120: 65 20 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f  e FOSSIL_ENABLE_
3130: 54 43 4c 5f 53 54 55 42 53 0a 20 20 20 20 20 20  TCL_STUBS.      
3140: 20 20 64 65 66 69 6e 65 20 55 53 45 5f 54 43 4c    define USE_TCL
3150: 5f 53 54 55 42 53 0a 20 20 20 20 7d 20 65 6c 73  _STUBS.    } els
3160: 65 20 7b 0a 20 20 20 20 20 20 20 20 73 65 74 20  e {.        set 
3170: 6c 69 62 73 20 22 24 74 63 6c 63 6f 6e 66 69 67  libs "$tclconfig
3180: 28 54 43 4c 5f 4c 49 42 5f 53 50 45 43 29 20 24  (TCL_LIB_SPEC) $
3190: 74 63 6c 63 6f 6e 66 69 67 28 54 43 4c 5f 4c 49  tclconfig(TCL_LI
31a0: 42 53 29 22 0a 20 20 20 20 7d 0a 20 20 20 20 73  BS)".    }.    s
31b0: 65 74 20 63 66 6c 61 67 73 20 24 74 63 6c 63 6f  et cflags $tclco
31c0: 6e 66 69 67 28 54 43 4c 5f 49 4e 43 4c 55 44 45  nfig(TCL_INCLUDE
31d0: 5f 53 50 45 43 29 0a 20 20 20 20 69 66 20 7b 21  _SPEC).    if {!
31e0: 24 74 63 6c 70 72 69 76 61 74 65 73 74 75 62 73  $tclprivatestubs
31f0: 7d 20 7b 0a 20 20 20 20 20 20 20 20 73 65 74 20  } {.        set 
3200: 66 6f 75 6e 64 74 63 6c 20 30 3b 20 23 20 44 69  foundtcl 0; # Di
3210: 64 20 77 65 20 66 69 6e 64 20 61 20 77 6f 72 6b  d we find a work
3220: 69 6e 67 20 54 63 6c 20 6c 69 62 72 61 72 79 3f  ing Tcl library?
3230: 0a 20 20 20 20 20 20 20 20 63 63 2d 77 69 74 68  .        cc-with
3240: 20 5b 6c 69 73 74 20 2d 63 66 6c 61 67 73 20 24   [list -cflags $
3250: 63 66 6c 61 67 73 20 2d 6c 69 62 73 20 24 6c 69  cflags -libs $li
3260: 62 73 5d 20 7b 0a 20 20 20 20 20 20 20 20 20 20  bs] {.          
3270: 20 20 69 66 20 7b 24 74 63 6c 73 74 75 62 73 7d    if {$tclstubs}
3280: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20   {.             
3290: 20 20 20 69 66 20 7b 5b 63 63 2d 63 68 65 63 6b     if {[cc-check
32a0: 2d 66 75 6e 63 74 69 6f 6e 73 20 54 63 6c 5f 49  -functions Tcl_I
32b0: 6e 69 74 53 74 75 62 73 5d 7d 20 7b 0a 20 20 20  nitStubs]} {.   
32c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
32d0: 20 73 65 74 20 66 6f 75 6e 64 74 63 6c 20 31 0a   set foundtcl 1.
32e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
32f0: 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20  }.            } 
3300: 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20  else {.         
3310: 20 20 20 20 20 20 20 69 66 20 7b 5b 63 63 2d 63         if {[cc-c
3320: 68 65 63 6b 2d 66 75 6e 63 74 69 6f 6e 73 20 54  heck-functions T
3330: 63 6c 5f 43 72 65 61 74 65 49 6e 74 65 72 70 5d  cl_CreateInterp]
3340: 7d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20  } {.            
3350: 20 20 20 20 20 20 20 20 73 65 74 20 66 6f 75 6e          set foun
3360: 64 74 63 6c 20 31 0a 20 20 20 20 20 20 20 20 20  dtcl 1.         
3370: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20         }.       
3380: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d       }.        }
3390: 0a 20 20 20 20 20 20 20 20 69 66 20 7b 21 24 66  .        if {!$f
33a0: 6f 75 6e 64 74 63 6c 20 26 26 20 5b 73 74 72 69  oundtcl && [stri
33b0: 6e 67 20 6d 61 74 63 68 20 2a 2d 6c 69 65 65 65  ng match *-lieee
33c0: 2a 20 24 6c 69 62 73 5d 7d 20 7b 0a 20 20 20 20  * $libs]} {.    
33d0: 20 20 20 20 20 20 20 20 23 20 4f 6e 20 73 6f 6d          # On som
33e0: 65 20 73 79 73 74 65 6d 73 2c 20 75 73 69 6e 67  e systems, using
33f0: 20 22 2d 6c 69 65 65 65 22 20 66 72 6f 6d 20 54   "-lieee" from T
3400: 43 4c 5f 4c 49 42 5f 53 50 45 43 20 61 70 70 65  CL_LIB_SPEC appe
3410: 61 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20  ars.            
3420: 23 20 74 6f 20 63 61 75 73 65 20 69 73 73 75 65  # to cause issue
3430: 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d  s..            m
3440: 73 67 2d 72 65 73 75 6c 74 20 22 52 65 6d 6f 76  sg-result "Remov
3450: 69 6e 67 20 5c 22 2d 6c 69 65 65 65 5c 22 20 61  ing \"-lieee\" a
3460: 6e 64 20 72 65 74 72 79 69 6e 67 20 66 6f 72 20  nd retrying for 
3470: 54 63 6c 2e 2e 2e 22 0a 20 20 20 20 20 20 20 20  Tcl...".        
3480: 20 20 20 20 73 65 74 20 6c 69 62 73 20 5b 73 74      set libs [st
3490: 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2d  ring map [list -
34a0: 6c 69 65 65 65 20 22 22 5d 20 24 6c 69 62 73 5d  lieee ""] $libs]
34b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 63 2d  .            cc-
34c0: 77 69 74 68 20 5b 6c 69 73 74 20 2d 63 66 6c 61  with [list -cfla
34d0: 67 73 20 24 63 66 6c 61 67 73 20 2d 6c 69 62 73  gs $cflags -libs
34e0: 20 24 6c 69 62 73 5d 20 7b 0a 20 20 20 20 20 20   $libs] {.      
34f0: 20 20 20 20 20 20 20 20 20 20 69 66 20 7b 24 74            if {$t
3500: 63 6c 73 74 75 62 73 7d 20 7b 0a 20 20 20 20 20  clstubs} {.     
3510: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
3520: 66 20 7b 5b 63 63 2d 63 68 65 63 6b 2d 66 75 6e  f {[cc-check-fun
3530: 63 74 69 6f 6e 73 20 54 63 6c 5f 49 6e 69 74 53  ctions Tcl_InitS
3540: 74 75 62 73 5d 7d 20 7b 0a 20 20 20 20 20 20 20  tubs]} {.       
3550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3560: 20 73 65 74 20 66 6f 75 6e 64 74 63 6c 20 31 0a   set foundtcl 1.
3570: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3580: 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20      }.          
3590: 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20        } else {. 
35a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
35b0: 20 20 20 69 66 20 7b 5b 63 63 2d 63 68 65 63 6b     if {[cc-check
35c0: 2d 66 75 6e 63 74 69 6f 6e 73 20 54 63 6c 5f 43  -functions Tcl_C
35d0: 72 65 61 74 65 49 6e 74 65 72 70 5d 7d 20 7b 0a  reateInterp]} {.
35e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
35f0: 20 20 20 20 20 20 20 20 73 65 74 20 66 6f 75 6e          set foun
3600: 64 74 63 6c 20 31 0a 20 20 20 20 20 20 20 20 20  dtcl 1.         
3610: 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20             }.   
3620: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20               }. 
3630: 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20             }.   
3640: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69       }.        i
3650: 66 20 7b 21 24 66 6f 75 6e 64 74 63 6c 20 26 26  f {!$foundtcl &&
3660: 20 21 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20   ![string match 
3670: 2a 2d 6c 70 74 68 72 65 61 64 2a 20 24 6c 69 62  *-lpthread* $lib
3680: 73 5d 7d 20 7b 0a 20 20 20 20 20 20 20 20 20 20  s]} {.          
3690: 20 20 23 20 4f 6e 20 73 6f 6d 65 20 73 79 73 74    # On some syst
36a0: 65 6d 73 2c 20 54 43 4c 5f 4c 49 42 5f 53 50 45  ems, TCL_LIB_SPE
36b0: 43 20 61 70 70 65 61 72 73 20 74 6f 20 62 65 20  C appears to be 
36c0: 6d 69 73 73 69 6e 67 0a 20 20 20 20 20 20 20 20  missing.        
36d0: 20 20 20 20 23 20 22 2d 6c 70 74 68 72 65 61 64      # "-lpthread
36e0: 22 2e 20 20 54 72 79 20 61 64 64 69 6e 67 20 69  ".  Try adding i
36f0: 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d  t..            m
3700: 73 67 2d 72 65 73 75 6c 74 20 22 41 64 64 69 6e  sg-result "Addin
3710: 67 20 5c 22 2d 6c 70 74 68 72 65 61 64 5c 22 20  g \"-lpthread\" 
3720: 61 6e 64 20 72 65 74 72 79 69 6e 67 20 66 6f 72  and retrying for
3730: 20 54 63 6c 2e 2e 2e 22 0a 20 20 20 20 20 20 20   Tcl...".       
3740: 20 20 20 20 20 73 65 74 20 6c 69 62 73 20 22 24       set libs "$
3750: 6c 69 62 73 20 2d 6c 70 74 68 72 65 61 64 22 0a  libs -lpthread".
3760: 20 20 20 20 20 20 20 20 20 20 20 20 63 63 2d 77              cc-w
3770: 69 74 68 20 5b 6c 69 73 74 20 2d 63 66 6c 61 67  ith [list -cflag
3780: 73 20 24 63 66 6c 61 67 73 20 2d 6c 69 62 73 20  s $cflags -libs 
3790: 24 6c 69 62 73 5d 20 7b 0a 20 20 20 20 20 20 20  $libs] {.       
37a0: 20 20 20 20 20 20 20 20 20 69 66 20 7b 24 74 63           if {$tc
37b0: 6c 73 74 75 62 73 7d 20 7b 0a 20 20 20 20 20 20  lstubs} {.      
37c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66                if
37d0: 20 7b 5b 63 63 2d 63 68 65 63 6b 2d 66 75 6e 63   {[cc-check-func
37e0: 74 69 6f 6e 73 20 54 63 6c 5f 49 6e 69 74 53 74  tions Tcl_InitSt
37f0: 75 62 73 5d 7d 20 7b 0a 20 20 20 20 20 20 20 20  ubs]} {.        
3800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3810: 73 65 74 20 66 6f 75 6e 64 74 63 6c 20 31 0a 20  set foundtcl 1. 
3820: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3830: 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20     }.           
3840: 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20       } else {.  
3850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3860: 20 20 69 66 20 7b 5b 63 63 2d 63 68 65 63 6b 2d    if {[cc-check-
3870: 66 75 6e 63 74 69 6f 6e 73 20 54 63 6c 5f 43 72  functions Tcl_Cr
3880: 65 61 74 65 49 6e 74 65 72 70 5d 7d 20 7b 0a 20  eateInterp]} {. 
3890: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
38a0: 20 20 20 20 20 20 20 73 65 74 20 66 6f 75 6e 64         set found
38b0: 74 63 6c 20 31 0a 20 20 20 20 20 20 20 20 20 20  tcl 1.          
38c0: 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20            }.    
38d0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20              }.  
38e0: 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20            }.    
38f0: 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66      }.        if
3900: 20 7b 21 24 66 6f 75 6e 64 74 63 6c 7d 20 7b 0a   {!$foundtcl} {.
3910: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 7b              if {
3920: 24 74 63 6c 73 74 75 62 73 7d 20 7b 0a 20 20 20  $tclstubs} {.   
3930: 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65               use
3940: 72 2d 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20  r-error "Cannot 
3950: 66 69 6e 64 20 61 20 75 73 61 62 6c 65 20 54 63  find a usable Tc
3960: 6c 20 73 74 75 62 73 20 6c 69 62 72 61 72 79 20  l stubs library 
3970: 24 6d 73 67 22 0a 20 20 20 20 20 20 20 20 20 20  $msg".          
3980: 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20    } else {.     
3990: 20 20 20 20 20 20 20 20 20 20 20 75 73 65 72 2d             user-
39a0: 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 66 69  error "Cannot fi
39b0: 6e 64 20 61 20 75 73 61 62 6c 65 20 54 63 6c 20  nd a usable Tcl 
39c0: 6c 69 62 72 61 72 79 20 24 6d 73 67 22 0a 20 20  library $msg".  
39d0: 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20            }.    
39e0: 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20      }.    }.    
39f0: 73 65 74 20 76 65 72 73 69 6f 6e 20 24 74 63 6c  set version $tcl
3a00: 63 6f 6e 66 69 67 28 54 43 4c 5f 56 45 52 53 49  config(TCL_VERSI
3a10: 4f 4e 29 24 74 63 6c 63 6f 6e 66 69 67 28 54 43  ON)$tclconfig(TC
3a20: 4c 5f 50 41 54 43 48 5f 4c 45 56 45 4c 29 0a 20  L_PATCH_LEVEL). 
3a30: 20 20 20 6d 73 67 2d 72 65 73 75 6c 74 20 22 46     msg-result "F
3a40: 6f 75 6e 64 20 54 63 6c 20 24 76 65 72 73 69 6f  ound Tcl $versio
3a50: 6e 20 61 74 20 24 74 63 6c 63 6f 6e 66 69 67 28  n at $tclconfig(
3a60: 54 43 4c 5f 50 52 45 46 49 58 29 22 0a 20 20 20  TCL_PREFIX)".   
3a70: 20 69 66 20 7b 21 24 74 63 6c 70 72 69 76 61 74   if {!$tclprivat
3a80: 65 73 74 75 62 73 7d 20 7b 0a 20 20 20 20 20 20  estubs} {.      
3a90: 20 20 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20    define-append 
3aa0: 4c 49 42 53 20 24 6c 69 62 73 0a 20 20 20 20 7d  LIBS $libs.    }
3ab0: 0a 20 20 20 20 64 65 66 69 6e 65 2d 61 70 70 65  .    define-appe
3ac0: 6e 64 20 45 58 54 52 41 5f 43 46 4c 41 47 53 20  nd EXTRA_CFLAGS 
3ad0: 24 63 66 6c 61 67 73 0a 20 20 20 20 69 66 20 7b  $cflags.    if {
3ae0: 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 7a 6c 69  [info exists zli
3af0: 62 70 61 74 68 5d 20 26 26 20 24 7a 6c 69 62 70  bpath] && $zlibp
3b00: 61 74 68 20 65 71 20 22 74 72 65 65 22 7d 20 7b  ath eq "tree"} {
3b10: 0a 20 20 20 20 20 20 23 0a 20 20 20 20 20 20 23  .      #.      #
3b20: 20 4e 4f 54 45 3a 20 57 68 65 6e 20 75 73 69 6e   NOTE: When usin
3b30: 67 20 7a 6c 69 62 20 69 6e 20 74 68 65 20 73 6f  g zlib in the so
3b40: 75 72 63 65 20 74 72 65 65 2c 20 70 72 65 76 65  urce tree, preve
3b50: 6e 74 20 54 63 6c 20 66 72 6f 6d 0a 20 20 20 20  nt Tcl from.    
3b60: 20 20 23 20 20 20 20 20 20 20 70 75 6c 6c 69 6e    #       pullin
3b70: 67 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 20  g in the system 
3b80: 6f 6e 65 2e 0a 20 20 20 20 20 20 23 0a 20 20 20  one..      #.   
3b90: 20 20 20 73 65 74 20 74 63 6c 63 6f 6e 66 69 67     set tclconfig
3ba0: 28 54 43 4c 5f 4c 44 5f 46 4c 41 47 53 29 20 5b  (TCL_LD_FLAGS) [
3bb0: 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74  string map [list
3bc0: 20 2d 6c 7a 20 22 22 5d 20 5c 0a 20 20 20 20 20   -lz ""] \.     
3bd0: 20 20 20 20 20 24 74 63 6c 63 6f 6e 66 69 67 28       $tclconfig(
3be0: 54 43 4c 5f 4c 44 5f 46 4c 41 47 53 29 5d 0a 20  TCL_LD_FLAGS)]. 
3bf0: 20 20 20 7d 0a 20 20 20 20 23 0a 20 20 20 20 23     }.    #.    #
3c00: 20 4e 4f 54 45 3a 20 52 65 6d 6f 76 65 20 22 2d   NOTE: Remove "-
3c10: 6c 64 6c 22 20 66 72 6f 6d 20 74 68 65 20 54 43  ldl" from the TC
3c20: 4c 5f 4c 44 5f 46 4c 41 47 53 20 62 65 63 61 75  L_LD_FLAGS becau
3c30: 73 65 20 69 74 20 77 69 6c 6c 20 62 65 0a 20 20  se it will be.  
3c40: 20 20 23 20 20 20 20 20 20 20 62 65 20 63 68 65    #       be che
3c50: 63 6b 65 64 20 66 6f 72 20 6e 65 61 72 20 74 68  cked for near th
3c60: 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 69 73  e bottom of this
3c70: 20 66 69 6c 65 2e 0a 20 20 20 20 23 0a 20 20 20   file..    #.   
3c80: 20 73 65 74 20 74 63 6c 63 6f 6e 66 69 67 28 54   set tclconfig(T
3c90: 43 4c 5f 4c 44 5f 46 4c 41 47 53 29 20 5b 73 74  CL_LD_FLAGS) [st
3ca0: 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2d  ring map [list -
3cb0: 6c 64 6c 20 22 22 5d 20 5c 0a 20 20 20 20 20 20  ldl ""] \.      
3cc0: 20 20 24 74 63 6c 63 6f 6e 66 69 67 28 54 43 4c    $tclconfig(TCL
3cd0: 5f 4c 44 5f 46 4c 41 47 53 29 5d 0a 20 20 20 20  _LD_FLAGS)].    
3ce0: 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20 45 58  define-append EX
3cf0: 54 52 41 5f 4c 44 46 4c 41 47 53 20 24 74 63 6c  TRA_LDFLAGS $tcl
3d00: 63 6f 6e 66 69 67 28 54 43 4c 5f 4c 44 5f 46 4c  config(TCL_LD_FL
3d10: 41 47 53 29 0a 20 20 20 20 64 65 66 69 6e 65 20  AGS).    define 
3d20: 46 4f 53 53 49 4c 5f 45 4e 41 42 4c 45 5f 54 43  FOSSIL_ENABLE_TC
3d30: 4c 0a 7d 0a 0a 23 20 4e 65 74 77 6f 72 6b 20 66  L.}..# Network f
3d40: 75 6e 63 74 69 6f 6e 73 20 72 65 71 75 69 72 65  unctions require
3d50: 20 6c 69 62 72 61 72 69 65 73 20 6f 6e 20 73 6f   libraries on so
3d60: 6d 65 20 73 79 73 74 65 6d 73 0a 63 63 2d 63 68  me systems.cc-ch
3d70: 65 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d 69 6e 2d  eck-function-in-
3d80: 6c 69 62 20 67 65 74 68 6f 73 74 62 79 6e 61 6d  lib gethostbynam
3d90: 65 20 6e 73 6c 0a 69 66 20 7b 21 5b 63 63 2d 63  e nsl.if {![cc-c
3da0: 68 65 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d 69 6e  heck-function-in
3db0: 2d 6c 69 62 20 73 6f 63 6b 65 74 20 7b 73 6f 63  -lib socket {soc
3dc0: 6b 65 74 20 6e 65 74 77 6f 72 6b 7d 5d 7d 20 7b  ket network}]} {
3dd0: 0a 20 20 20 20 23 20 4c 61 73 74 20 72 65 73 6f  .    # Last reso
3de0: 72 74 2c 20 6d 61 79 20 62 65 20 57 69 6e 64 6f  rt, may be Windo
3df0: 77 73 0a 20 20 20 20 69 66 20 7b 5b 69 73 5f 6d  ws.    if {[is_m
3e00: 69 6e 67 77 5d 7d 20 7b 0a 20 20 20 20 20 20 20  ingw]} {.       
3e10: 20 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20 4c   define-append L
3e20: 49 42 53 20 2d 6c 77 73 6f 63 6b 33 32 0a 20 20  IBS -lwsock32.  
3e30: 20 20 7d 0a 7d 0a 63 63 2d 63 68 65 63 6b 2d 66    }.}.cc-check-f
3e40: 75 6e 63 74 69 6f 6e 2d 69 6e 2d 6c 69 62 20 69  unction-in-lib i
3e50: 63 6f 6e 76 20 69 63 6f 6e 76 0a 63 63 2d 63 68  conv iconv.cc-ch
3e60: 65 63 6b 2d 66 75 6e 63 74 69 6f 6e 73 20 75 74  eck-functions ut
3e70: 69 6d 65 0a 63 63 2d 63 68 65 63 6b 2d 66 75 6e  ime.cc-check-fun
3e80: 63 74 69 6f 6e 73 20 75 73 6c 65 65 70 0a 63 63  ctions usleep.cc
3e90: 2d 63 68 65 63 6b 2d 66 75 6e 63 74 69 6f 6e 73  -check-functions
3ea0: 20 73 74 72 63 68 72 6e 75 6c 0a 0a 23 20 43 68   strchrnul..# Ch
3eb0: 65 63 6b 20 66 6f 72 20 67 65 74 6c 6f 61 64 61  eck for getloada
3ec0: 76 67 28 29 2c 20 61 6e 64 20 69 66 20 69 74 20  vg(), and if it 
3ed0: 64 6f 65 73 6e 27 74 20 65 78 69 73 74 2c 20 64  doesn't exist, d
3ee0: 65 66 69 6e 65 20 46 4f 53 53 49 4c 5f 4f 4d 49  efine FOSSIL_OMI
3ef0: 54 5f 4c 4f 41 44 5f 41 56 45 52 41 47 45 0a 69  T_LOAD_AVERAGE.i
3f00: 66 20 7b 21 5b 63 63 2d 63 68 65 63 6b 2d 66 75  f {![cc-check-fu
3f10: 6e 63 74 69 6f 6e 73 20 67 65 74 6c 6f 61 64 61  nctions getloada
3f20: 76 67 5d 7d 20 7b 0a 20 20 64 65 66 69 6e 65 20  vg]} {.  define 
3f30: 46 4f 53 53 49 4c 5f 4f 4d 49 54 5f 4c 4f 41 44  FOSSIL_OMIT_LOAD
3f40: 5f 41 56 45 52 41 47 45 20 31 0a 20 20 6d 73 67  _AVERAGE 1.  msg
3f50: 2d 72 65 73 75 6c 74 20 22 4c 6f 61 64 20 61 76  -result "Load av
3f60: 65 72 61 67 65 20 73 75 70 70 6f 72 74 20 75 6e  erage support un
3f70: 61 76 61 69 6c 61 62 6c 65 22 0a 7d 0a 0a 23 20  available".}..# 
3f80: 43 68 65 63 6b 20 66 6f 72 20 67 65 74 70 61 73  Check for getpas
3f90: 73 70 68 72 61 73 65 28 29 20 66 6f 72 20 53 6f  sphrase() for So
3fa0: 6c 61 72 69 73 20 31 30 20 77 68 65 72 65 20 67  laris 10 where g
3fb0: 65 74 70 61 73 73 28 29 20 74 72 75 6e 63 61 74  etpass() truncat
3fc0: 65 73 20 74 6f 20 31 30 20 63 68 61 72 73 0a 69  es to 10 chars.i
3fd0: 66 20 7b 21 5b 63 63 2d 63 68 65 63 6b 2d 66 75  f {![cc-check-fu
3fe0: 6e 63 74 69 6f 6e 73 20 67 65 74 70 61 73 73 70  nctions getpassp
3ff0: 68 72 61 73 65 5d 7d 20 7b 0a 20 20 20 20 23 20  hrase]} {.    # 
4000: 48 61 69 6b 75 20 6e 65 65 64 73 20 74 68 69 73  Haiku needs this
4010: 0a 20 20 20 20 63 63 2d 63 68 65 63 6b 2d 66 75  .    cc-check-fu
4020: 6e 63 74 69 6f 6e 2d 69 6e 2d 6c 69 62 20 67 65  nction-in-lib ge
4030: 74 70 61 73 73 20 62 73 64 0a 7d 0a 63 63 2d 63  tpass bsd.}.cc-c
4040: 68 65 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d 69 6e  heck-function-in
4050: 2d 6c 69 62 20 64 6c 6f 70 65 6e 20 64 6c 0a 63  -lib dlopen dl.c
4060: 63 2d 63 68 65 63 6b 2d 66 75 6e 63 74 69 6f 6e  c-check-function
4070: 2d 69 6e 2d 6c 69 62 20 73 69 6e 20 6d 0a 0a 23  -in-lib sin m..#
4080: 20 43 68 65 63 6b 20 66 6f 72 20 74 68 65 20 46   Check for the F
4090: 75 73 65 46 53 20 6c 69 62 72 61 72 79 0a 69 66  useFS library.if
40a0: 20 7b 5b 6f 70 74 2d 62 6f 6f 6c 20 66 75 73 65   {[opt-bool fuse
40b0: 66 73 5d 7d 20 7b 0a 20 20 69 66 20 7b 5b 63 63  fs]} {.  if {[cc
40c0: 2d 63 68 65 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d  -check-function-
40d0: 69 6e 2d 6c 69 62 20 66 75 73 65 5f 6d 6f 75 6e  in-lib fuse_moun
40e0: 74 20 66 75 73 65 5d 7d 20 7b 0a 20 20 20 20 20  t fuse]} {.     
40f0: 64 65 66 69 6e 65 2d 61 70 70 65 6e 64 20 45 58  define-append EX
4100: 54 52 41 5f 43 46 4c 41 47 53 20 2d 44 46 4f 53  TRA_CFLAGS -DFOS
4110: 53 49 4c 5f 48 41 56 45 5f 46 55 53 45 46 53 0a  SIL_HAVE_FUSEFS.
4120: 20 20 20 20 20 64 65 66 69 6e 65 20 46 4f 53 53       define FOSS
4130: 49 4c 5f 48 41 56 45 5f 46 55 53 45 46 53 20 31  IL_HAVE_FUSEFS 1
4140: 0a 20 20 20 20 20 64 65 66 69 6e 65 2d 61 70 70  .     define-app
4150: 65 6e 64 20 4c 49 42 53 20 2d 6c 66 75 73 65 0a  end LIBS -lfuse.
4160: 20 20 20 20 20 6d 73 67 2d 72 65 73 75 6c 74 20       msg-result 
4170: 22 46 75 73 65 46 53 20 73 75 70 70 6f 72 74 20  "FuseFS support 
4180: 65 6e 61 62 6c 65 64 22 0a 20 20 7d 0a 7d 0a 0a  enabled".  }.}..
4190: 6d 61 6b 65 2d 74 65 6d 70 6c 61 74 65 20 4d 61  make-template Ma
41a0: 6b 65 66 69 6c 65 2e 69 6e 0a 6d 61 6b 65 2d 63  kefile.in.make-c
41b0: 6f 6e 66 69 67 2d 68 65 61 64 65 72 20 61 75 74  onfig-header aut
41c0: 6f 63 6f 6e 66 69 67 2e 68 20 2d 61 75 74 6f 20  oconfig.h -auto 
41d0: 7b 55 53 45 5f 2a 20 46 4f 53 53 49 4c 5f 2a 7d  {USE_* FOSSIL_*}
41e0: 0a                                               .