TDBC

Check-in [239b87734b]
Login

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

Overview
Comment:Move tdbc.tcl to its own target. Add tdbc.tcl to BINARIES to ensure it gets copied once during build and removed with "make clean". Fixes [625f0ee464].
Downloads: See separate download page
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 239b87734b95020730a7be752c3f205a0130bdcc9223f602fd7243da2d8fe938
User & Date: stu 2017-12-16 01:14:40.918
Original Comment: Move tdbc.tcl to its own target. Add tdbc.tcl to BINARIES to ensure it gets copied once during build and removed with "make clean".
Context
2017-12-21
06:28
Add rules-ext.vc and targets.vc to distribution. check-in: 84dffcb5f2 user: apnadkarni tags: trunk, tdbc-1-0-6
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 check-in: c5f7bcffcb user: stu tags: stu-pkgIndex

01:14
Move tdbc.tcl to its own target. Add tdbc.tcl to BINARIES to ensure it gets copied once during build and removed with "make clean". Fixes [625f0ee464]. check-in: 239b87734b user: stu tags: trunk
00:24
Add tdbcConfig.sh to CONFIG_CLEAN_FILES so that "make distclean" will remove it. check-in: 72ca85415c user: stu tags: trunk
Changes
Unified Diff Side-by-Side Diff Patch
Changes to Makefile.in.
Changes to configure.
Changes to configure.ac.