Posted to tcl by aku at Tue Apr 06 16:15:20 GMT 2021view raw
- ----
- 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.