Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Sep 2003 02:32:14 -0400
From:      Joe Marcus Clarke <marcus@marcuscom.com>
To:        Ade Lovett <ade@freebsd.org>
Cc:        ports@freebsd.org
Subject:   Re: RFD: automake, autoconf and libtool
Message-ID:  <1064644334.692.18.camel@gyros>
In-Reply-To: <87B2B126-ED7F-11D7-8912-000A956B6386@FreeBSD.org>
References:  <87B2B126-ED7F-11D7-8912-000A956B6386@FreeBSD.org>

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

--=-CHnlGvx+YPq9+Q91zQzL
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Tue, 2003-09-23 at 00:36, Ade Lovett wrote:
> Well, I've been bouncing my head (on and off) against an interesting=20
> brick-wall known as automake/autoconf/libtool.  I've got a few=20
> patchsets knocking around, which break the tree in various weird and=20
> wonderful ways, so I'm soliciting comments.
>=20
> So far, the various ports now install versioned binaries in the $PATH=20
> (eg: automake14, autoconf253, libtool15) so that 'normal' programs=20
> don't get confused by a (possibly incorrect version) 'libtool' (for=20
> example).
>=20
> The USE_AUTOMAKE/AUTOCONF/LIBTOOL variables have been modified to=20
> accept not only 'yes' (for the "system default"), but also a specific=20
> version number if required, negating the need for three other USE_*=20
> variables (USE_foo_VER) -- with the rapid increase in the number of=20
> USE_* variables, this is probably a Good Thing[tm].
>=20
> Using these knobs also turns on a bunch of other stuff, including=20
> adding 'hidden' paths so that programs can execute 'libtool' and get=20
> the right one (at least at compile time).  They also turn on various=20
> configure steps which are not required for some ports - rather, they=20
> need either a build- or run-time (or both) dependency on, say,=20
> 'automake' - the USE_* knobs in place don't take into account either of=20
> these situations.
>=20
> So, we're faced with a few problems (which apply not only to the triad=20
> of tools mentioned here, but also are more far-ranging):
>=20
>    how to provide the capability for multiple versions of the same port=20
> to be installed at the same time
> 	   - ensure no overlap between versions, so one doesn't overwrite=20
> another
> 	   - provide mechanisms for another port to depend on a specific=20
> version, either at a build-time, run-time, or both
> 	   - optionally provide extra mechanisms to affect how a port is=20
> built, according to various knobs
> 	   - provide an easy means to detect when a port (or, harder, at=20
> run-time as a package), accesses a non-versioned
> 	     tool, and point it in the right direction.
>=20
> The first two are essentially done, though can be reworked at will (and=20
> almost certainly will be as part of a bigger
> future COMPONENTS project), the third is a simple matter of adding=20
> extra knobs (on by default to preserve POLA) to do the configure time=20
> hacking, the fourth, to coin a phrase, is going to be a pain, though=20
> there are a couple of wrappers out there which look for specifics in=20
> order to determine the appropriate version (see, eg, cygwin and gentoo=20
> linux)
>=20
> Comments welcome.

I have a few.

First, there is a problem with the multiple libtool ports trying to
coexist.  The .m4 files conflict.  Can we fix it so those files are
installed in their own directory (e.g.
${LOCALBASE}/share/aclocal[13|14|15])?  This will allow IDEs like anjuta
to work properly.

Second, it would be nice to be able to easily use our libtool in every
place.  If we modify USE_LIBTOOL to replace all instances of the local
libtool in ports configure scripts, we can accomplish this.  I think I
sent you a patch for this already.

Third, libtool13 doesn't seem to like the new dynamic root on -CURRENT.=20
It tries to run file on /usr/lib/libc.so which doesn't exist anymore.=20
Can this be modified?

As for the rest, I think the way the auto* stuff works now seems pretty
cool.  I have used it for a few ports, and it works well for me.  If you
wanted to modify ports to not use the default paths for the GNU tools,
you could use a reinplace like we do with the gnomehack
pseudo-component.  For packages, you'd probably have to modify pkg_add,
but that may be more trouble than it's worth.

Joe

>=20
> -aDe
>=20
> _______________________________________________
> freebsd-ports@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org"
--=20
PGP Key : http://www.marcuscom.com/pgp.asc



--=-CHnlGvx+YPq9+Q91zQzL
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

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

iD8DBQA/dS7ub2iPiv4Uz4cRApT8AJ0f2PbgEtPjUtgTXBdwmozWQo0Z8wCfXfZd
wPsT+0Pca5821ZX218LMI4c=
=tYgu
-----END PGP SIGNATURE-----

--=-CHnlGvx+YPq9+Q91zQzL--



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