Hex Artifact Content
Bounty program for improvements to Tcl and certain Tcl packages.

Artifact f8ea5f6abcaf3d5db3deb43179631cc930eb2623:


0000: 43 43 20 3d 20 40 43 43 40 0a 41 52 20 3d 20 40  CC = @[email protected] = @
0010: 41 52 40 0a 52 41 4e 4c 49 42 20 3d 20 40 52 41  [email protected] = @RA
0020: 4e 4c 49 42 40 0a 43 46 4c 41 47 53 20 3d 20 40  [email protected] = @
0030: 43 46 4c 41 47 53 40 20 40 53 48 4f 42 4a 46 4c  [email protected] @SHOBJFL
0040: 41 47 53 40 0a 43 50 50 46 4c 41 47 53 20 3d 20  [email protected] = 
0050: 40 43 50 50 46 4c 41 47 53 40 20 2d 49 40 73 72  @[email protected] [email protected]
0060: 63 64 69 72 40 20 2d 49 2e 20 40 44 45 46 53 40  [email protected] -I. @[email protected]
0070: 20 40 54 43 4c 5f 44 45 46 53 40 0a 4c 44 46 4c   @[email protected]
0080: 41 47 53 20 3d 20 40 4c 44 46 4c 41 47 53 40 20  AGS = @[email protected] 
0090: 40 53 48 4f 42 4a 4c 44 46 4c 41 47 53 40 0a 4c  @[email protected]
00a0: 49 42 53 20 3d 20 40 4c 49 42 53 40 0a 49 4e 53  IBS = @[email protected]
00b0: 54 41 4c 4c 20 3d 20 40 49 4e 53 54 41 4c 4c 40  TALL = @[email protected]
00c0: 0a 50 41 43 4b 41 47 45 5f 56 45 52 53 49 4f 4e  .PACKAGE_VERSION
00d0: 20 3d 20 40 50 41 43 4b 41 47 45 5f 56 45 52 53   = @PACKAGE_VERS
00e0: 49 4f 4e 40 0a 54 43 4c 5f 50 41 43 4b 41 47 45  [email protected]_PACKAGE
00f0: 5f 50 41 54 48 20 3d 20 40 54 43 4c 5f 50 41 43  _PATH = @TCL_PAC
0100: 4b 41 47 45 5f 50 41 54 48 40 0a 50 41 43 4b 41  [email protected]
0110: 47 45 5f 49 4e 53 54 41 4c 4c 5f 44 49 52 20 3d  GE_INSTALL_DIR =
0120: 20 24 28 54 43 4c 5f 50 41 43 4b 41 47 45 5f 50   $(TCL_PACKAGE_P
0130: 41 54 48 29 2f 74 63 6c 74 6c 73 24 28 50 41 43  ATH)/tcltls$(PAC
0140: 4b 41 47 45 5f 56 45 52 53 49 4f 4e 29 0a 56 50  KAGE_VERSION).VP
0150: 41 54 48 20 3d 20 40 73 72 63 64 69 72 40 0a 73  ATH = @[email protected]
0160: 72 63 64 69 72 20 3d 20 40 73 72 63 64 69 72 40  rcdir = @[email protected]
0170: 0a 0a 61 6c 6c 3a 20 40 45 58 54 45 4e 53 49 4f  ..all: @EXTENSIO
0180: 4e 5f 54 41 52 47 45 54 40 0a 0a 23 20 54 68 65  [email protected]# The
0190: 20 73 68 61 72 65 64 20 6f 62 6a 65 63 74 20 74   shared object t
01a0: 61 72 67 65 74 0a 74 63 6c 74 6c 73 2e 40 53 48  [email protected]
01b0: 4f 42 4a 45 58 54 40 3a 20 74 6c 73 2e 6f 20 74  [email protected]: tls.o t
01c0: 6c 73 42 49 4f 2e 6f 20 74 6c 73 49 4f 2e 6f 20  lsBIO.o tlsIO.o 
01d0: 74 6c 73 58 35 30 39 2e 6f 20 4d 61 6b 65 66 69  tlsX509.o Makefi
01e0: 6c 65 0a 09 24 28 43 43 29 20 24 28 43 50 50 46  le..$(CC) $(CPPF
01f0: 4c 41 47 53 29 20 24 28 43 46 4c 41 47 53 29 20  LAGS) $(CFLAGS) 
0200: 24 28 4c 44 46 4c 41 47 53 29 20 2d 6f 20 74 63  $(LDFLAGS) -o tc
0210: 6c 74 6c 73 2e 40 53 48 4f 42 4a 45 58 54 40 20  [email protected]@ 
0220: 74 6c 73 2e 6f 20 74 6c 73 42 49 4f 2e 6f 20 74  tls.o tlsBIO.o t
0230: 6c 73 49 4f 2e 6f 20 74 6c 73 58 35 30 39 2e 6f  lsIO.o tlsX509.o
0240: 20 24 28 4c 49 42 53 29 0a 0a 23 20 54 68 65 20   $(LIBS)..# The 
0250: 73 74 61 74 69 63 20 74 61 72 67 65 74 0a 74 63  static target.tc
0260: 6c 74 6c 73 2e 40 41 52 45 58 54 40 3a 20 74 6c  [email protected]@: tl
0270: 73 2e 6f 20 74 6c 73 42 49 4f 2e 6f 20 74 6c 73  s.o tlsBIO.o tls
0280: 49 4f 2e 6f 20 74 6c 73 58 35 30 39 2e 6f 20 4d  IO.o tlsX509.o M
0290: 61 6b 65 66 69 6c 65 0a 09 24 28 41 52 29 20 72  akefile..$(AR) r
02a0: 63 75 20 74 63 6c 74 6c 73 2e 61 2e 6e 65 77 20  cu tcltls.a.new 
02b0: 74 6c 73 2e 6f 20 74 6c 73 42 49 4f 2e 6f 20 74  tls.o tlsBIO.o t
02c0: 6c 73 49 4f 2e 6f 20 74 6c 73 58 35 30 39 2e 6f  lsIO.o tlsX509.o
02d0: 0a 09 24 28 52 41 4e 4c 49 42 29 20 74 63 6c 74  ..$(RANLIB) tclt
02e0: 6c 73 2e 61 2e 6e 65 77 0a 09 6d 76 20 74 63 6c  ls.a.new..mv tcl
02f0: 74 6c 73 2e 61 2e 6e 65 77 20 74 63 6c 74 6c 73  tls.a.new tcltls
0300: 2e 61 0a 0a 23 20 44 65 70 65 6e 64 65 6e 63 69  .a..# Dependenci
0310: 65 73 20 66 6f 72 20 61 6c 6c 20 6f 75 72 20 74  es for all our t
0320: 61 72 67 65 74 73 0a 74 6c 73 2e 6f 3a 20 40 73  argets.tls.o: @s
0330: 72 63 64 69 72 40 2f 74 6c 73 2e 63 20 40 73 72  [email protected]/tls.c @sr
0340: 63 64 69 72 40 2f 74 6c 73 49 6e 74 2e 68 20 40  [email protected]/tlsInt.h @
0350: 73 72 63 64 69 72 40 2f 74 63 6c 4f 70 74 73 2e  [email protected]/tclOpts.
0360: 68 20 74 6c 73 2e 74 63 6c 2e 68 20 64 68 5f 70  h tls.tcl.h dh_p
0370: 61 72 61 6d 73 2e 68 20 4d 61 6b 65 66 69 6c 65  arams.h Makefile
0380: 0a 74 6c 73 42 49 4f 2e 6f 3a 20 40 73 72 63 64  .tlsBIO.o: @srcd
0390: 69 72 40 2f 74 6c 73 42 49 4f 2e 63 20 40 73 72  [email protected]/tlsBIO.c @sr
03a0: 63 64 69 72 40 2f 74 6c 73 49 6e 74 2e 68 20 4d  [email protected]/tlsInt.h M
03b0: 61 6b 65 66 69 6c 65 0a 74 6c 73 49 4f 2e 6f 3a  akefile.tlsIO.o:
03c0: 20 40 73 72 63 64 69 72 40 2f 74 6c 73 49 4f 2e   @[email protected]/tlsIO.
03d0: 63 20 40 73 72 63 64 69 72 40 2f 74 6c 73 49 6e  c @[email protected]/tlsIn
03e0: 74 2e 68 20 4d 61 6b 65 66 69 6c 65 0a 74 6c 73  t.h Makefile.tls
03f0: 58 35 30 39 2e 6f 3a 20 40 73 72 63 64 69 72 40  X509.o: @[email protected]
0400: 2f 74 6c 73 58 35 30 39 2e 63 20 40 73 72 63 64  /tlsX509.c @srcd
0410: 69 72 40 2f 74 6c 73 49 6e 74 2e 68 20 4d 61 6b  [email protected]/tlsInt.h Mak
0420: 65 66 69 6c 65 0a 0a 23 20 43 72 65 61 74 65 20  efile..# Create 
0430: 61 20 43 2d 73 6f 75 72 63 65 2d 69 66 69 65 64  a C-source-ified
0440: 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20   version of the 
0450: 73 63 72 69 70 74 20 72 65 73 6f 75 72 63 65 73  script resources
0460: 0a 23 20 66 6f 72 20 54 63 6c 54 4c 53 20 73 6f  .# for TclTLS so
0470: 20 74 68 61 74 20 77 65 20 6f 6e 6c 79 20 6e 65   that we only ne
0480: 65 64 20 61 20 73 69 6e 67 6c 65 20 66 69 6c 65  ed a single file
0490: 20 74 6f 20 65 6e 61 62 6c 65 0a 23 20 74 68 69   to enable.# thi
04a0: 73 20 65 78 74 65 6e 73 69 6f 6e 0a 74 6c 73 2e  s extension.tls.
04b0: 74 63 6c 2e 68 3a 20 24 28 73 72 63 64 69 72 29  tcl.h: $(srcdir)
04c0: 2f 74 6c 73 2e 74 63 6c 0a 09 6f 64 20 2d 41 20  /tls.tcl..od -A 
04d0: 6e 20 2d 76 20 2d 74 20 78 43 20 3c 20 27 24 28  n -v -t xC < '$(
04e0: 73 72 63 64 69 72 29 2f 74 6c 73 2e 74 63 6c 27  srcdir)/tls.tcl'
04f0: 20 3e 20 74 6c 73 2e 74 63 6c 2e 68 2e 6e 65 77   > tls.tcl.h.new
0500: 2e 31 0a 09 73 65 64 20 27 73 40 20 20 2a 40 40  .1..sed '[email protected]  *@@
0510: 67 3b 73 40 2e 2e 40 30 78 26 2c 20 40 67 27 20  g;[email protected]@0x&, @g' 
0520: 3c 20 74 6c 73 2e 74 63 6c 2e 68 2e 6e 65 77 2e  < tls.tcl.h.new.
0530: 31 20 3e 20 74 6c 73 2e 74 63 6c 2e 68 2e 6e 65  1 > tls.tcl.h.ne
0540: 77 2e 32 0a 09 72 6d 20 2d 66 20 74 6c 73 2e 74  w.2..rm -f tls.t
0550: 63 6c 2e 68 2e 6e 65 77 2e 31 0a 09 6d 76 20 74  cl.h.new.1..mv t
0560: 6c 73 2e 74 63 6c 2e 68 2e 6e 65 77 2e 32 20 74  ls.tcl.h.new.2 t
0570: 6c 73 2e 74 63 6c 2e 68 0a 0a 23 20 43 72 65 61  ls.tcl.h..# Crea
0580: 74 65 20 64 65 66 61 75 6c 74 20 44 48 20 70 61  te default DH pa
0590: 72 61 6d 65 74 65 72 73 0a 64 68 5f 70 61 72 61  rameters.dh_para
05a0: 6d 73 2e 68 3a 20 40 73 72 63 64 69 72 40 2f 67  ms.h: @[email protected]/g
05b0: 65 6e 5f 64 68 5f 70 61 72 61 6d 73 20 4d 61 6b  en_dh_params Mak
05c0: 65 66 69 6c 65 0a 09 40 73 72 63 64 69 72 40 2f  [email protected]@/
05d0: 67 65 6e 5f 64 68 5f 70 61 72 61 6d 73 20 40 47  gen_dh_params @G
05e0: 45 4e 5f 44 48 5f 50 41 52 41 4d 53 5f 41 52 47  EN_DH_PARAMS_ARG
05f0: 53 40 20 3e 20 64 68 5f 70 61 72 61 6d 73 2e 68  [email protected] > dh_params.h
0600: 2e 6e 65 77 0a 09 6d 76 20 64 68 5f 70 61 72 61  .new..mv dh_para
0610: 6d 73 2e 68 2e 6e 65 77 20 64 68 5f 70 61 72 61  ms.h.new dh_para
0620: 6d 73 2e 68 0a 0a 23 20 47 65 6e 65 72 69 63 20  ms.h..# Generic 
0630: 74 61 72 67 65 74 20 66 6f 72 20 62 75 69 6c 64  target for build
0640: 69 6e 67 20 66 69 6c 65 73 20 66 72 6f 6d 20 74  ing files from t
0650: 68 65 20 22 73 72 63 64 69 72 22 0a 23 20 74 72  he "srcdir".# tr
0660: 65 65 20 2d 2d 20 74 68 65 20 64 65 66 61 75 6c  ee -- the defaul
0670: 74 20 74 61 72 67 65 74 20 77 69 6c 6c 20 6e 6f  t target will no
0680: 74 20 6d 61 74 63 68 20 70 61 74 68 73 0a 2e 63  t match paths..c
0690: 2e 6f 3a 0a 09 24 28 43 43 29 20 24 28 43 50 50  .o:..$(CC) $(CPP
06a0: 46 4c 41 47 53 29 20 24 28 43 46 4c 41 47 53 29  FLAGS) $(CFLAGS)
06b0: 20 2d 6f 20 22 24 40 22 20 2d 63 20 22 24 3c 22   -o "[email protected]" -c "$<"
06c0: 0a 0a 23 20 49 6e 73 74 61 6c 6c 20 74 68 65 20  ..# Install the 
06d0: 65 78 74 65 6e 73 69 6f 6e 0a 69 6e 73 74 61 6c  extension.instal
06e0: 6c 3a 20 40 45 58 54 45 4e 53 49 4f 4e 5f 54 41  l: @EXTENSION_TA
06f0: 52 47 45 54 40 20 70 6b 67 49 6e 64 65 78 2e 74  [email protected] pkgIndex.t
0700: 63 6c 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 2d  cl..$(INSTALL) -
0710: 64 20 27 24 28 44 45 53 54 44 49 52 29 24 28 50  d '$(DESTDIR)$(P
0720: 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 5f 44  ACKAGE_INSTALL_D
0730: 49 52 29 27 0a 09 24 28 49 4e 53 54 41 4c 4c 29  IR)'..$(INSTALL)
0740: 20 2d 74 20 27 24 28 44 45 53 54 44 49 52 29 24   -t '$(DESTDIR)$
0750: 28 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c  (PACKAGE_INSTALL
0760: 5f 44 49 52 29 27 20 40 45 58 54 45 4e 53 49 4f  _DIR)' @EXTENSIO
0770: 4e 5f 54 41 52 47 45 54 40 20 70 6b 67 49 6e 64  [email protected] pkgInd
0780: 65 78 2e 74 63 6c 0a 0a 23 20 54 65 73 74 20 74  ex.tcl..# Test t
0790: 61 72 67 65 74 2c 20 72 75 6e 20 74 68 65 20 61  arget, run the a
07a0: 75 74 6f 6d 61 74 65 64 20 74 65 73 74 20 73 75  utomated test su
07b0: 69 74 65 0a 74 65 73 74 3a 20 40 45 58 54 45 4e  ite.test: @EXTEN
07c0: 53 49 4f 4e 5f 54 41 52 47 45 54 40 0a 09 63 64  [email protected]
07d0: 20 74 65 73 74 73 20 26 26 20 40 54 43 4c 53 48   tests && @TCLSH
07e0: 5f 50 52 4f 47 40 20 61 6c 6c 2e 74 63 6c 0a 0a  [email protected] all.tcl..
07f0: 23 20 43 6c 65 61 6e 20 74 68 65 20 6c 6f 63 61  # Clean the loca
0800: 6c 20 62 75 69 6c 64 20 64 69 72 65 63 74 6f 72  l build director
0810: 79 20 66 6f 72 20 72 65 62 75 69 6c 64 20 61 67  y for rebuild ag
0820: 61 69 6e 73 74 20 74 68 65 20 73 61 6d 65 20 63  ainst the same c
0830: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a 63 6c 65  onfiguration.cle
0840: 61 6e 3a 0a 09 72 6d 20 2d 66 20 74 6c 73 2e 6f  an:..rm -f tls.o
0850: 20 74 6c 73 42 49 4f 2e 6f 20 74 6c 73 49 4f 2e   tlsBIO.o tlsIO.
0860: 6f 20 74 6c 73 58 35 30 39 2e 6f 0a 09 72 6d 20  o tlsX509.o..rm 
0870: 2d 66 20 74 63 6c 74 6c 73 2e 40 53 48 4f 42 4a  -f [email protected]
0880: 45 58 54 40 0a 09 72 6d 20 2d 66 20 74 63 6c 74  [email protected] -f tclt
0890: 6c 73 2e 61 2e 6e 65 77 20 74 63 6c 74 6c 73 2e  ls.a.new tcltls.
08a0: 61 0a 09 72 6d 20 2d 66 20 74 6c 73 2e 74 63 6c  a..rm -f tls.tcl
08b0: 2e 68 20 74 6c 73 2e 74 63 6c 2e 68 2e 6e 65 77  .h tls.tcl.h.new
08c0: 2e 31 20 74 6c 73 2e 74 63 6c 2e 68 2e 6e 65 77  .1 tls.tcl.h.new
08d0: 2e 32 0a 0a 23 20 43 6c 65 61 6e 20 74 68 65 20  .2..# Clean the 
08e0: 6c 6f 63 61 6c 20 62 75 69 6c 64 20 64 69 72 65  local build dire
08f0: 63 74 6f 72 79 20 62 61 63 6b 20 74 6f 20 77 68  ctory back to wh
0900: 61 74 20 69 74 20 77 61 73 20 61 66 74 65 72 20  at it was after 
0910: 75 6e 70 61 63 6b 69 6e 67 20 74 68 65 0a 23 20  unpacking the.# 
0920: 64 69 73 74 72 69 62 75 74 69 6f 6e 20 74 61 72  distribution tar
0930: 62 61 6c 6c 0a 64 69 73 74 63 6c 65 61 6e 3a 20  ball.distclean: 
0940: 63 6c 65 61 6e 0a 09 72 6d 20 2d 66 20 63 6f 6e  clean..rm -f con
0950: 66 69 67 2e 6c 6f 67 20 63 6f 6e 66 69 67 2e 73  fig.log config.s
0960: 74 61 74 75 73 0a 09 72 6d 20 2d 66 20 64 68 5f  tatus..rm -f dh_
0970: 70 61 72 61 6d 73 2e 68 2e 6e 65 77 20 64 68 5f  params.h.new dh_
0980: 70 61 72 61 6d 73 2e 68 0a 09 72 6d 20 2d 66 20  params.h..rm -f 
0990: 4d 61 6b 65 66 69 6c 65 20 70 6b 67 49 6e 64 65  Makefile pkgInde
09a0: 78 2e 74 63 6c 0a 09 72 6d 20 2d 66 20 74 63 6c  x.tcl..rm -f tcl
09b0: 74 6c 73 2e 61 2e 6c 69 6e 6b 61 64 64 0a 0a 23  tls.a.linkadd..#
09c0: 20 43 6c 65 61 6e 20 74 68 65 20 6c 6f 63 61 6c   Clean the local
09d0: 20 62 75 69 6c 64 20 64 69 72 65 63 74 6f 72 79   build directory
09e0: 20 62 61 63 6b 20 74 6f 20 6f 6e 6c 79 20 74 68   back to only th
09f0: 69 6e 67 20 74 68 69 6e 67 73 20 74 68 61 74 20  ing things that 
0a00: 65 78 69 73 74 20 69 6e 0a 23 20 76 65 72 73 69  exist in.# versi
0a10: 6f 6e 20 63 6f 6e 74 72 6f 6c 20 73 79 73 74 65  on control syste
0a20: 6d 0a 6d 72 70 72 6f 70 65 72 3a 20 64 69 73 74  m.mrproper: dist
0a30: 63 6c 65 61 6e 0a 09 72 6d 20 2d 66 20 40 73 72  clean..rm -f @sr
0a40: 63 64 69 72 40 2f 63 6f 6e 66 69 67 75 72 65 20  [email protected]/configure 
0a50: 40 73 72 63 64 69 72 40 2f 63 6f 6e 66 69 67 2e  @[email protected]/config.
0a60: 73 75 62 20 40 73 72 63 64 69 72 40 2f 63 6f 6e  sub @[email protected]/con
0a70: 66 69 67 2e 67 75 65 73 73 20 40 73 72 63 64 69  fig.guess @srcdi
0a80: 72 40 2f 69 6e 73 74 61 6c 6c 2d 73 68 0a 09 72  [email protected]/install-sh..r
0a90: 6d 20 2d 66 20 40 73 72 63 64 69 72 40 2f 61 63  m -f @[email protected]/ac
0aa0: 6c 6f 63 61 6c 2e 6d 34 0a 09 72 6d 20 2d 72 66  local.m4..rm -rf
0ab0: 20 40 73 72 63 64 69 72 40 2f 61 75 74 6f 6d 34   @[email protected]/autom4
0ac0: 74 65 2e 63 61 63 68 65 0a 0a 2e 50 48 4f 4e 59  te.cache...PHONY
0ad0: 3a 20 61 6c 6c 20 69 6e 73 74 61 6c 6c 20 63 6c  : all install cl
0ae0: 65 61 6e 20 64 69 73 74 63 6c 65 61 6e 20 6d 72  ean distclean mr
0af0: 70 72 6f 70 65 72 20 74 65 73 74 0a              proper test.