Posted to tcl by aku at Tue Apr 06 16:15:20 GMT 2021view pretty
---- General setup ---- hephaistos:(502) ~/Development/Tcl/Meine/Critcl > md I hephaistos:(503) ~/Development/Tcl/Meine/Critcl > cd I hephaistos:(505) ~/Development/Tcl/Meine/Critcl/I > g hc andreas-kupries/critcl Cloning into 'critcl'... remote: Enumerating objects: 45, done. remote: Counting objects: 100% (45/45), done. remote: Compressing objects: 100% (44/44), done. remote: Total 8210 (delta 18), reused 10 (delta 0), pack-reused 8165 Receiving objects: 100% (8210/8210), 15.54 MiB | 5.85 MiB/s, done. Resolving deltas: 100% (5024/5024), done. critcl cloned hephaistos:(506) ~/Development/Tcl/Meine/Critcl/I > cd critcl/ hephaistos:(507) ~/Development/Tcl/Meine/Critcl/I/critcl > git log | head -6 commit 07292456bda518052c20fad66e40f217122ec478 Author: Andreas Kupries <akupries@shaw.ca> Date: Thu May 14 11:48:25 2020 -0700 Change build defaults for callback package: No symbols, no assertions. hephaistos:(508) ~/Development/Tcl/Meine/Critcl/I/critcl > g bc * master hephaistos:(509) ~/Development/Tcl/Meine/Critcl/I/critcl > mkdir ../local-install hephaistos:(516) ~/Development/Tcl/Meine/Critcl/I/critcl > head -3 build.tcl #!/bin/sh # -*- tcl -*- \ exec tclsh "$0" ${1+"$@"} hephaistos:(511) ~/Development/Tcl/Meine/Critcl/I/critcl > which tclsh /home/aku/opt/ActiveTcl/bin/tclsh hephaistos:(512) ~/Development/Tcl/Meine/Critcl/I/critcl > echo 'puts [info patchlevel];exit' | /home/aku/opt/ActiveTcl/bin/tclsh 8.6.10 ---- Trying a relative path. ---- hephaistos:(505) ~/Development/Tcl/Meine/Critcl/I/critcl > ./build.tcl install ../local-install Installing into: Packages: ../local-install Application: ./bin Headers: ./include Installed package: ../local-install/critcl-app3.1.18 Installed package: ../local-install/critcl3.1.18 Installed package: ../local-install/critcl-bitmap1.0.1 Installed package: ../local-install/critcl-class1.1.1 Installed package: ../local-install/critcl-cutil0.2.1 Installed package: ../local-install/critcl-emap1.2 Installed package: ../local-install/critcl-enum1.1 Installed package: ../local-install/critcl-iassoc1.1 Installed package: ../local-install/critcl-literals1.3 Installed package: ../local-install/critcl-platform1.0.15 Installed package: ../local-install/critcl-util1.1 Installed package: ../local-install/dict841 Installed package: ../local-install/lassign841.0.1 Installed package: ../local-install/lmap841 Installed package: ../local-install/stubs_container1 Installed package: ../local-install/stubs_gen_decl1 Installed package: ../local-install/stubs_gen_header1 Installed package: ../local-install/stubs_gen_init1 Installed package: ../local-install/stubs_gen_lib1 Installed package: ../local-install/stubs_gen_macro1 Installed package: ../local-install/stubs_gen_slot1 Installed package: ../local-install/stubs_genframe1 Installed package: ../local-install/stubs_reader1 Installed package: ../local-install/stubs_writer1 geedonk {. .. local-install} Installed application: ./bin/critcl Installed C package: critcl::md5c 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} Config: linux-x86_64-gcc Build: linux-x86_64-gcc Target: linux-x86_64 Source: md5c.tcl (provide critcl_md5c 0.12) Library: md5c.so (tclStubsPtr => TclStubs *tclStubsPtr;) (tclPlatStubsPtr => TclPlatStubs *tclPlatStubsPtr;) Package: /home/aku/Development/Tcl/Meine/Critcl/I/local-install/tmp/md5c Installed package: ../local-install/critcl_md5c0.12 Installed C package: critcl::callback Config: linux-x86_64-gcc Build: linux-x86_64-gcc Target: linux-x86_64 Source: callback.tcl (provide critcl::callback 1) (include <critcl_assert.h>) (include <critcl_alloc.h>) (include <critcl_trace.h>) (include <critcl_alloc.h>) Library: callback.so (tclStubsPtr => TclStubs *tclStubsPtr;) (tclPlatStubsPtr => TclPlatStubs *tclPlatStubsPtr;) Package: /home/aku/Development/Tcl/Meine/Critcl/I/local-install/tmp/callback Headers: ../local-install/tmp/critcl_callback Installed package: ../local-install/critcl_callback1 Installed headers: ./include/critcl_callback hephaistos:(506) ~/Development/Tcl/Meine/Critcl/I/critcl > ---- Notes: Packages: ../local-install !! libdir Application: ./bin !! bindir = dirname(libdir)/bin Headers: ./include !! incdir = dirname(libdir)/include build.tcl line 410 build.tcl line 412 converts the libdir to all paths. May modify the libdir! Proc `target`. Uses a `findlib` for the libdir/libdir change. This seems to look for a path segment `lib`. Would explain why the path is reduced to `/` when you use an absolute path. Note that the so "found" path is used as the basis for the bindir/incdir conversion. Unclear why. Do not remember that code. Suspicion that this was added by pooryorick at some point. Reasons and motivating issues unknown.