Ticket UUID: | 1857612 | |||
Title: | TEA_PRIVATE_*_HEADERS doesn't find installed private headers | |||
Type: | Support | Version: | None | |
Submitter: | jenglish | Created on: | 2007-12-24 16:28:27 | |
Subsystem: | None | Assigned To: | hobbs | |
Priority: | 7 High | Severity: | ||
Status: | Closed | Last Modified: | 2009-07-29 19:40:53 | |
Resolution: | Closed By: | hobbs | ||
Closed on: | 2008-11-04 23:30:35 | |||
Description: |
As of 8.4.11 or so, tcl and tk provide a `make install-private-headers` target, so extensions needing them can be built without requiring that the core source directories be left lying around. (This is a requirement for nearly every distributor build environment.) However, the TEA_TCL_PRIVATE_HEADERS macro still only looks in $(TCL_SRC_DIR), and aborts if the expected headers are not found there. Ditto TEA_TK_PRIVATE_HEADERS. | |||
User Comments: |
dkf added on 2009-07-29 19:40:53:
IP - Comment Removed: 130.88.1.31 dkf added on 2008-12-26 14:22:34: data_type - 210894 jenglish added on 2008-11-05 07:50:12: Thanks! It should still only be a warning, not a hard error, if TEA_PRIVATE_*_HEADERS doesn't find what it's looking for though. There really needs to be an escape hatch so people can say "use the CPPFLAGS that I'm giving you and don't worry if things aren't where you expect them to be." Distros, site admins, and vendors have come up with all sorts of different ways to work around the private headers problem over the years. hobbs added on 2008-11-05 06:30:54: See also 1631922 hobbs added on 2008-11-05 06:30:31: Then the proper thing would be to use --with-tcl|tkinclude. I have an updated TEA that will account for this (TEA 3.7). jenglish added on 2007-12-28 04:09:39: Logged In: YES user_id=68433 Originator: YES Considering how many different ways private header installation can (and does!) go wrong, it'd probably be better to make this a warning (AC_MSG_WARN) instead of a hard error (AC_MSG_ERROR); that way packagers can at least force the issue by setting CPPFLAGS in the environment. hobbs added on 2007-12-28 02:51:25: Logged In: YES user_id=72656 Originator: NO Planning to rewrite to AC_REQUIRE the TCL_PUBLIC_*_HEADERS equivalent, then check for the Int.h in the cached dir, otherwise fall back on current code. That means it is still an error to not find the Int.h header, just with more options to find it. jenglish added on 2007-12-24 23:32:48: File Added - 259657: tea-private-includes.patch Logged In: YES user_id=68433 Originator: YES Attached patch is a partial workaround. It just changes AC_MSG_ERROR to AC_MSG_WARN so that the configure script will run to completion. Packagers may need to set CPPFLAGS="-I${tcl_includedir}" in the environment at configure-time. File Added: tea-private-includes.patch |
Attachments:
- tea-private-includes.patch [download] added by jenglish on 2007-12-24 23:32:48. [details]