Posted to tcl by aku at Tue Apr 06 16:15:20 GMT 2021view raw

  1. ----
  2.  
  3. General setup
  4.  
  5. ----
  6.  
  7. hephaistos:(502) ~/Development/Tcl/Meine/Critcl > md I
  8.  
  9. hephaistos:(503) ~/Development/Tcl/Meine/Critcl > cd I
  10.  
  11. hephaistos:(505) ~/Development/Tcl/Meine/Critcl/I > g hc andreas-kupries/critcl
  12.  
  13. Cloning into 'critcl'...
  14. remote: Enumerating objects: 45, done.
  15. remote: Counting objects: 100% (45/45), done.
  16. remote: Compressing objects: 100% (44/44), done.
  17. remote: Total 8210 (delta 18), reused 10 (delta 0), pack-reused 8165
  18. Receiving objects: 100% (8210/8210), 15.54 MiB | 5.85 MiB/s, done.
  19. Resolving deltas: 100% (5024/5024), done.
  20. critcl cloned
  21.  
  22. hephaistos:(506) ~/Development/Tcl/Meine/Critcl/I > cd critcl/
  23.  
  24. hephaistos:(507) ~/Development/Tcl/Meine/Critcl/I/critcl > git log | head -6
  25.  
  26. commit 07292456bda518052c20fad66e40f217122ec478
  27. Author: Andreas Kupries <akupries@shaw.ca>
  28. Date: Thu May 14 11:48:25 2020 -0700
  29.  
  30. Change build defaults for callback package: No symbols, no assertions.
  31.  
  32. hephaistos:(508) ~/Development/Tcl/Meine/Critcl/I/critcl > g bc
  33.  
  34. * master
  35.  
  36. hephaistos:(509) ~/Development/Tcl/Meine/Critcl/I/critcl > mkdir ../local-install
  37.  
  38. hephaistos:(516) ~/Development/Tcl/Meine/Critcl/I/critcl > head -3 build.tcl
  39.  
  40. #!/bin/sh
  41. # -*- tcl -*- \
  42. exec tclsh "$0" ${1+"$@"}
  43.  
  44. hephaistos:(511) ~/Development/Tcl/Meine/Critcl/I/critcl > which tclsh
  45. /home/aku/opt/ActiveTcl/bin/tclsh
  46.  
  47. hephaistos:(512) ~/Development/Tcl/Meine/Critcl/I/critcl > echo 'puts [info patchlevel];exit' | /home/aku/opt/ActiveTcl/bin/tclsh
  48. 8.6.10
  49.  
  50. ----
  51.  
  52. Trying a relative path.
  53.  
  54. ----
  55.  
  56. hephaistos:(505) ~/Development/Tcl/Meine/Critcl/I/critcl > ./build.tcl install ../local-install
  57.  
  58. Installing into:
  59. Packages: ../local-install
  60. Application: ./bin
  61. Headers: ./include
  62.  
  63. Installed package: ../local-install/critcl-app3.1.18
  64. Installed package: ../local-install/critcl3.1.18
  65. Installed package: ../local-install/critcl-bitmap1.0.1
  66. Installed package: ../local-install/critcl-class1.1.1
  67. Installed package: ../local-install/critcl-cutil0.2.1
  68. Installed package: ../local-install/critcl-emap1.2
  69. Installed package: ../local-install/critcl-enum1.1
  70. Installed package: ../local-install/critcl-iassoc1.1
  71. Installed package: ../local-install/critcl-literals1.3
  72. Installed package: ../local-install/critcl-platform1.0.15
  73. Installed package: ../local-install/critcl-util1.1
  74. Installed package: ../local-install/dict841
  75. Installed package: ../local-install/lassign841.0.1
  76. Installed package: ../local-install/lmap841
  77. Installed package: ../local-install/stubs_container1
  78. Installed package: ../local-install/stubs_gen_decl1
  79. Installed package: ../local-install/stubs_gen_header1
  80. Installed package: ../local-install/stubs_gen_init1
  81. Installed package: ../local-install/stubs_gen_lib1
  82. Installed package: ../local-install/stubs_gen_macro1
  83. Installed package: ../local-install/stubs_gen_slot1
  84. Installed package: ../local-install/stubs_genframe1
  85. Installed package: ../local-install/stubs_reader1
  86. Installed package: ../local-install/stubs_writer1
  87. geedonk {. .. local-install}
  88. Installed application: ./bin/critcl
  89.  
  90. Installed C package: critcl::md5c
  91. executing {exec >@ stdout 2>@ stderr /home/aku/opt/ActiveTcl/bin/tclsh ./bin/critcl -libdir ../local-install/tmp -pkg /home/aku/Development/Tcl/Meine/Critcl/I/critcl/lib/critcl-md5c/md5c.tcl}
  92. Config: linux-x86_64-gcc
  93. Build: linux-x86_64-gcc
  94. Target: linux-x86_64
  95. Source: md5c.tcl (provide critcl_md5c 0.12)
  96. Library: md5c.so
  97. (tclStubsPtr => TclStubs *tclStubsPtr;)
  98. (tclPlatStubsPtr => TclPlatStubs *tclPlatStubsPtr;)
  99. Package: /home/aku/Development/Tcl/Meine/Critcl/I/local-install/tmp/md5c
  100. Installed package: ../local-install/critcl_md5c0.12
  101.  
  102. Installed C package: critcl::callback
  103. Config: linux-x86_64-gcc
  104. Build: linux-x86_64-gcc
  105. Target: linux-x86_64
  106. Source: callback.tcl (provide critcl::callback 1) (include <critcl_assert.h>) (include <critcl_alloc.h>) (include <critcl_trace.h>) (include <critcl_alloc.h>)
  107. Library: callback.so
  108. (tclStubsPtr => TclStubs *tclStubsPtr;)
  109. (tclPlatStubsPtr => TclPlatStubs *tclPlatStubsPtr;)
  110. Package: /home/aku/Development/Tcl/Meine/Critcl/I/local-install/tmp/callback
  111. Headers: ../local-install/tmp/critcl_callback
  112. Installed package: ../local-install/critcl_callback1
  113. Installed headers: ./include/critcl_callback
  114.  
  115. hephaistos:(506) ~/Development/Tcl/Meine/Critcl/I/critcl >
  116.  
  117. ----
  118.  
  119. Notes:
  120.  
  121. Packages: ../local-install !! libdir
  122. Application: ./bin !! bindir = dirname(libdir)/bin
  123. Headers: ./include !! incdir = dirname(libdir)/include
  124.  
  125. build.tcl line 410
  126.  
  127. build.tcl line 412 converts the libdir to all paths. May modify the libdir!
  128. Proc `target`.
  129. Uses a `findlib` for the libdir/libdir change.
  130.  
  131. This seems to look for a path segment `lib`.
  132.  
  133. Would explain why the path is reduced to `/` when you use an absolute path.
  134. Note that the so "found" path is used as the basis for the bindir/incdir conversion.
  135.  
  136. Unclear why.
  137.  
  138. Do not remember that code.
  139.  
  140. Suspicion that this was added by pooryorick at some point.
  141.  
  142. Reasons and motivating issues unknown.
  143.