Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Oct 2004 14:56:32 +0300
From:      Ruslan Ermilov <ru@FreeBSD.ORG>
To:        Andrey Chernov <ache@nagual.pp.ru>, src-committers@FreeBSD.ORG, cvs-src@FreeBSD.ORG, cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: src/gnu/lib/libreadline/readline Makefile
Message-ID:  <20041018115632.GA87870@ip.net.ua>
In-Reply-To: <20041018092747.GB59835@nagual.pp.ru>
References:  <200410180836.i9I8afRS060144@repoman.freebsd.org> <20041018090314.GA86525@ip.net.ua> <20041018090550.GA59302@nagual.pp.ru> <20041018091004.GC86525@ip.net.ua> <20041018091303.GC59302@nagual.pp.ru> <20041018091903.GD86525@ip.net.ua> <20041018092347.GA59835@nagual.pp.ru> <20041018092747.GB59835@nagual.pp.ru>

next in thread | previous in thread | raw e-mail | index | archive | help

--rwEMma7ioTxnRzrJ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Oct 18, 2004 at 01:27:47PM +0400, Andrey Chernov wrote:
> On Mon, Oct 18, 2004 at 01:23:47PM +0400, Andrey Chernov wrote:
> > In theory we can switch to another *curses, or make termcap as separate=
=20
> > library (even derived from ncurses, subset) to save lots of static link=
ing=20
> > space.
>=20
Having a separate libtermcap library won't save anything with static
linkage as long as it's a subset of libncurses.  Ideally, the binary
linked with the real termcap library which is a subset of the ncurses
library will even be of the same checksum.

> > In all such cases in my variant we don't need to touch anything,=20
> > but in yours mass Makefiles rewriting required.
>=20
> In other words: libraries and applications are linked to termcap, without=
=20
> knowing its implementation details. It is good, because things can be=20
> changed on the fly without any editing. But you insist that they MUST kno=
w=20
> implementation details. I see no reason for it.
>=20
It's simple.  There's no termcap library, whether you specify -lncurses
or -ltermcap doesn't matter, libraries and applications linked with
either of them all get libncurses.so as their runtime dependency: run
ldd(1) and get it.  ;)

In other words: if you make a real libtermcap today (as a subset of
libncurses), you cannot expect old dynamically linked binaries to
magically start using it, because they have libncurses.so recorded
as their dependency.

The difference between us is how we treat the libtermcap symlinks.
I treat them as compatibility stuff only for third-party applications
that are not part of the standard FreeBSD distribution, and you seem
to treat them as different API libraries.  I also fail to get your
point about why linking with -lncurses as opposed to with -ltermcap
is unportable.

I have a simple question for you: in your opinion, what's wrong with
replacing all these -l{curses,mytinfo,termcap,termlib,tinfo} with
one true -lncurses?  I planned doing it one day, but you seem to be
against it, as follows from the above.


Cheers,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

--rwEMma7ioTxnRzrJ
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQFBc69wqRfpzJluFF4RAiSZAJ41yjXhfEuAxxDcpBnPOa/EqnTVqQCeNXon
Lz4/8+9tuylHWD/Wql0mSHQ=
=nB6x
-----END PGP SIGNATURE-----

--rwEMma7ioTxnRzrJ--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041018115632.GA87870>