Gentoo Archives: gentoo-dev

From: Maciej Mrozowski <reavertm@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: [Survey || RFC] autotools-utils.eclass
Date: Wed, 14 Jul 2010 03:55:41
Message-Id: 201007140554.54981.reavertm@gmail.com
In Reply to: Re: [gentoo-dev] Re: [Survey || RFC] autotools-utils.eclass by Maciej Mrozowski
1 On Wednesday 07 of July 2010 02:16:13 Maciej Mrozowski wrote:
2 > On Thursday 03 of June 2010 01:32:09 Nathan Phillip Brink wrote:
3 > > On Mon, May 31, 2010 at 03:29:01PM +0200, Maciej Mrozowski wrote:
4 > > > On Wednesday 26 of May 2010 19:27:43 Mike Frysinger wrote:
5 > > > > On Wednesday 26 May 2010 05:38:00 Maciej Mrozowski wrote:
6 > > > > > I've updated documentation, added example usage and option to keep
7 > > > > > libtool files (ltdl.so supposedly needs those as I was told, no
8 > > > > > idea what for).
9 > >
10 > > IMO, ltdl.so is probably just being silly. Perhaps these files contain
11 > > information that is useful on non-Linux systems for dlopen()ing
12 > > plugins.
13 > >
14 > > > > more applicable to us w/Linux is that static linking with libtool
15 > > > > needs them. the AUTOTOOLS_KEEP_LA_FILES seems kind of spurious
16 > > > > considering current tree behavior and assumption of gnu-capable
17 > > > > linking systems.
18 > > >
19 > > > It is spurious when we forget about run-time dynamic linking (plugins)
20 > > > in some apps.
21 > > > libtool loader (ltdl.so) needs .la files unfortunately. One example -
22 > > > imagemagick - removing .la files for coders makes 'convert' unable to
23 > > > locate them (silly, but hey...).
24 > >
25 > > This case can be caught by checking if the .la file has the following in
26 > > it: ``
27 > > # Should we warn about portability when linking against -modules?
28 > > shouldnotlink=yes
29 > > ''
30 >
31 > Excellent. Eclass updated, see attachment. AUTOTOOLS_KEEP_LA_FILES option
32 > removed. Now removing .la files relies only on shouldnotlink value (and
33 > static-libs presence in IUSE that is).
34 >
35 > > Removing .la files which are useless on a given system would be very
36 > > nice. It would be even more useful if unused .a files could be swept
37 > > away at the same time :-).
38 >
39 > They are - just add static-libs to IUSE and disable said USE flag when
40 > emerging.
41 >
42 > I've also had an idea to be smarter and to look for patches (PATCHES array)
43 > updating any .m4, Makefile.{ac,in}, configure.{ac.in} files and to run
44 > eautoreconf automatically in ${eclass}_src_prepare but I've decided it's a
45 > bit too much. I may rethink the idea later though.
46 >
47 > If there are no objections nor further comments, I'd like to unleash new
48 > eclass for public consumption within a few days.
49
50 Before I do so, please comment on the following changes I've made:
51 - always pass --disable-dependency-tracking
52 - always remove static libs corresponding to plugins (based on
53 shouldnotlink=yes)
54 - add remove_libtool_files [all|none] function
55 - add some low-profile echo messages showing removed files
56 - append myeconfargs at the end of econfargs so that eclass defaults can be
57 overriden at request
58
59 http://git.overlays.gentoo.org/gitweb/?p=proj/kde.git;a=history;f=eclass/autotools-
60 utils.eclass
61
62 If there are no further issues, I'll commit it to tree (with announcement)
63 within three or more days.
64
65 --
66 regards
67 MM