This is the mail archive of the ecos-discuss@sourceware.cygnus.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Anon cvs problem.


>>>>> "Sergei" == Sergei Organov <osv@javad.ru> writes:

    <snip>

    >> In the case of the library files and the tclsh and wish
    >> executables, what normally happens in Tcl releases is that e.g.
    >> libtcl.a gets installed as libtcl8.2.a, and there is a symbolic
    >> link from libtcl.a to the most recent installed version. That
    >> allows multiple releases of Tcl to co-exist, useful for
    >> developers, yet by default you always get the most recent
    >> version. The configure script has a --with-tcl-version option
    >> to support this.
    >> 
    >> I do not know why the Debian folks have deviated from this
    >> scheme.

    Sergei> I believe they didn't. I think my description was somewhat
    Sergei> misleading. The directories /usr/lib/tclVER don't contain
    Sergei> libraries, they contain things like 'tclConfig.sh', etc.
    Sergei> for corresponding version VER. The libraries themselves
    Sergei> are installed the way you describe.

    Sergei> The /usr/include/tclVER directories contain headers for
    Sergei> corresponding VER.

OK, that makes a fair bit of sense.

    Sergei> For me the layout seems to be natural. Where does RH put
    Sergei> include files and scripts for different Tcl versions?
    Sergei> Looking at the 'configure', it seems that on RH there are
    Sergei> (symbolic) links from /usr/include/tcl.h to some place, as
    Sergei> well as from /usr/lib/tclConfig.sh. If so, then
    Sergei> 'configure' may end-up running tclConfig (and finding
    Sergei> tcl.h) for Tcl version different than one specified by the
    Sergei> --with-tcl-version. Isn't it?

Theoretically yes. In practice it is not much of a problem because
tclConfig.sh and tcl.h change very rarely, and the libcdl source code
is careful in what Tcl features get used.

    Sergei> The configure scripts search for 'tcl.h' in the
    Sergei> ${with_tcl}/include directory, and for 'tclConfig.sh' in
    Sergei> the ${with_tcl}/lib directory. On Debian they are in the
    Sergei> ${with_tcl}/include/tcl${cyg_ac_tcl_version} and
    Sergei> ${with_tcl}/lib/tcl${cyg_ac_tcl_version} directories,
    Sergei> respectively. That's the problem, not location of the
    Sergei> libraries.

    Sergei> Thus, to make it work, I've changed

    Sergei> cyg_ac_tcl_incdir=${with_tcl}/include
    Sergei> cyg_ac_tcl_libdir=${with_tcl}/lib

    Sergei> to

    Sergei> cyg_ac_tcl_incdir=${with_tcl}/include/tcl${cyg_ac_tcl_version}
    Sergei> cyg_ac_tcl_libdir=${with_tcl}/lib/tcl${cyg_ac_tcl_version}

    Sergei> It's interesting if changed 'configure' scripts will work
    Sergei> on RH Linux?

As far as I know Red Hat releases just follow the standard behaviour
provided by the Tcl maintainers, so anything like this would affect
most systems, not just Red Hat Linux.

It would probably be necessary at configure time to look for
tclConfig.sh first in ${with_tcl}/lib/${cyg_ac_tcl_version} (if
cyg_ac_tcl_version has been set), then in ${with_tcl}/lib. That should
cope with both schemes. I'll try to take a look at this next time I do
some work on the configure scripts.

Bart Veer // eCos net maintainer

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]