TDBC

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

5 check-ins related to "stu-pkgIndex2"

2018-01-05
05:52
Merge stu-pkgIndex2. Implements a solution for when the shared object and the pkgIndex.tcl reside in different dirs during build/test. Fixes [625f0ee464]. check-in: 2386d26cfb user: stu tags: trunk
05:38
Merge trunk. Closed-Leaf check-in: 8d7e50c2f8 user: stu tags: stu-pkgIndex2
2018-01-04
08:39
Use INSTALL_* and new DIST_INSTALL_* macros to make dist. Align with latest TEA. check-in: 8886c1d546 user: stu tags: trunk
2017-12-17
16:13
Another way:

Have pkgIndex.tcl make use of TDBC_LIBRARY.

This is better than mangling the pkgIndex.tcl on install. check-in: daa7ace8b7 user: stu tags: stu-pkgIndex2

2017-12-16
23:03
When testing (against) tdbc in the build dir, tdbc.tcl is presumed found in $srcdir/library, not in the same dir as the built shared object.

When testing against an installed tdbc, tdbc.tcl is presumed found in the same dir as the shared object.

This makes the pkgIndex.tcl in the build dir unusable for testing. Makefile targets affected: test, shell, gdb, valgrind, etc.

This can be a problem for other extensions as well.

One solution has been to have a [package ifneeded script] generated and used by the Makefile. This is a bit messy and is needed for all affected targets. Extensions building against tdbc would also have to act accordingly, which can be argued is not their responsibility.

This solution uses a pkgIndex.tcl that looks for tdbc.tcl in $srcdir/library. The $srcdir/library path is stripped-out when pkgIndex.tcl is installed. With this in place, [package require] simply works. It is, admittedly, a bit ugly but I think it's the better than:

- Use two pkgIndex.tcl files: one to use when testing and one to install. - The original method: copy file(s) from the library dir into the build dir and remember to clean them up.

The implementation on this branch also removes the extra copying and cleaning-up of tdbc.tcl, which is no longer necessary. This has been done in this branch for tdbc.

The tdbc-* extensions building against tdbc would simply have to add $(TDBC_BIN_DIR) to the existing $(TCLLIBPATH) in their Makefiles to work with this new scheme.

This has been done in this branch for tdbc-*.

The remaining tdbc-* Makefile targets (shell, gdb, valgrind, etc.) remain broken but can be fixed as was done with tdbc. Closed-Leaf check-in: c5f7bcffcb user: stu tags: stu-pkgIndex