Tcl Source Code

View Ticket
Login
Ticket UUID: 1777301
Title: TEA: --exec-prefix not set from --prefix
Type: Bug Version: None
Submitter: pointsman Created on: 2007-08-19 20:26:18
Subsystem: 85. tclconfig Assigned To: hobbs
Priority: 5 Medium Severity:
Status: Open Last Modified: 2012-02-21 01:56:00
Resolution: None Closed By: sf-robot
    Closed on: 2008-11-23 02:20:23
Description:

A typical TEA 3.6 configure --help claims, that the default of --exec-prefix is set from prefix. Or at least, that is, how I understand it (reformated

Installation directories:
  --prefix=PREFIX
    install architecture-independent files in PREFIX [/usr/local]
  --exec-prefix=EPREFIX
    install architecture-dependent files in EPREFIX                   [PREFIX]

But, if --prefix=/some/path is given to configure, the generated Makefile has:

...
prefix          = /some/path
exec_prefix     = /usr/local
...

It seems, that exec_prefix is always set to the prefix default; there's code in TEA_INIT, which seems to do this.

Note, that there is no real problem. Using both --prefix and --exec-prefix works.

Just make the software do, what the doc (--help) say, or make the doc say, what the software really does.
User Comments: kennykb added on 2012-02-21 01:56:00:
'stu', 'rkeene' and 'pooryorick' on the Tcl'ers Chat today indicate that this behaviour is still a problem, and promise more information.

sf-robot added on 2008-11-23 09:20:23:
This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).

hobbs added on 2008-11-05 05:06:38:
Actually Tcl's TEA_PREFIX does set exec_prefix to prefix, but it may be that autoconf (which handles this at a meta level) does it's own magic.  A patch for what you intend against TEA_PREFIX would be good.  Otherwise it is working as expected.

pointsman added on 2007-09-09 07:29:12:
Logged In: YES 
user_id=13222
Originator: YES

No, --prefix and --exec_prefix are not superfluous at all for a Tcl extension. I love it, that I have the freedom, to compile my extenstion against a certain tcl installation (given by --with-tcl) and to install the result in a place of my choice, other than $(pkglibdir). Yes, I handle the auto_path manipulation, to get the extension version, I want, don't care about that.

That is currently possible, and that's fine. In case of an extension with binary code, the user just has to provide both, --prefix and --exec-prefix. Although the help suggests, that the --exec-prefix default is set from the --prefix value. With isn't true. Nitpik.

jenglish added on 2007-09-07 10:51:17:
Logged In: YES 
user_id=68433
Originator: NO

Probably can't change the help text; you get that for free from autoconf whether you want it or not.

However, for Tcl extensions, --prefix, --exec_prefix, and all of the subsidiary install directories are superfluous: the only installation directory TEA uses is $(pkglibdir).

$(pkglibdir) is normally specified as a subdirectory of $(libdir) in Makefile.in; $(libdir) in turn defaults to ${exec_prefix}/lib; and ${exec_prefix} is set to ${TCL_EXEC_PREFIX} by the TEA_PREFIX autoconf macro.  (The value of TCL_EXEC_PREFIX is found in tclConfig.sh; it's set to the value of @exec_prefix@ used when configuring Tcl.)