libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: also copy install-sh


From: Ralf Wildenhues
Subject: Re: also copy install-sh
Date: Mon, 20 Dec 2004 14:11:01 +0100
User-agent: Mutt/1.4.1i

[ answer to both replies ]

* Bob Friesenhahn wrote on Sun, Dec 19, 2004 at 05:17:37PM CET:
> On Sun, 19 Dec 2004, Ralf Wildenhues wrote:
> 
> >OK to apply to HEAD and branch-2-0?  Automake is the owner of
> >`install-sh', right?
> 
> It looks ok to me.  I believe that install-sh is owned by Automake.

Applied to all three branches (below is the patch against branch-1-5).

> >I could backport to branch-1-5 as well, if desirable.
> 
> Does branch-1-5 make use of install-sh?  Maybe it is dependent on the 
> version of Automake used?

The bug report was against 1.5, and the scenario was "using Libtool
without Automake", so it's completely independent of Automake.  I've
skimmed the ChangeLogs, and it seems `install-sh' has been necessary
maybe since 1997, but at least since 1999.  Libtool uses/looks for
AC_CONFIG_AUX_DIR since that time, and that looks for the `install-sh'
file to find the aux dir at client `configure' time.

Side note: I know it's not too nice to have yet another script
installed, even more when the reason is just a bootstrap issue;
install-sh, however, should IMHO be beneficial for every program, plus
it's not large.


* Ross Boylan wrote on Mon, Dec 20, 2004 at 02:54:49AM CET:
> On Sun, 2004-12-19 at 06:37, Ralf Wildenhues wrote:
> > OK to apply to HEAD and branch-2-0?  Automake is the owner of
> > `install-sh', right?
> > 
> Seems like a good idea.  The one caution I'd give is that I don't know
> for a fact that install-sh, by itself, is sufficient (as for 2.0, I
> don't even know it's necessary). I know that attempting to use libtool
> 1.5.6 without automake caused an error about missing install-sh when I
> attempted a configure.  I fixed that by having automake add a bunch of
> files (2 others, I recall, as well as install-sh).  It might be that
> some of those other files are needed as well.

I think not.  I have actually tested this with an example setup which
only needs to be rewritten for inclusion into the testsuite.

> > I could backport to branch-1-5 as well, if desirable.
> Since I ran into the problem of missing files with 1.5.6, I find the
> argument for a backport compelling :)  On the other hand, people have
> lived this long without it (probably everyone uses automake anyway) ....

Yep.  But your argument is ok.

> I can also imagine scenarios down the road where having install-sh in
> two separate projects (libtool and automake) could lead to trouble.

Only if Libtool and Automake would carry different, incompatible
versions of the script.  Fortunately, it is pretty stable and mature, so
we won't have to worry much about this.  With config.guess and
config.sub, things have worked fine so far as well (AFAIK), and they
tend to change much more often.

One should note, however, that while some libtoolize{.in,.m4sh} versions
contains snippets of what should eventually evolve into version checking
for all copied config files, this version checking does not work.  For
install-sh, it will likely need adapting as well (if someone wants to
make it work).  Other than that, my patch is orthogonal to that issue.

Regards,
Ralf

        * libtoolize.in: Install `install-sh' as well, needed for configure ..
        * Makefile.am: .. install, update it.
        * NEWS, doc/libtool.texi (Distributing): .. document it.
        Reported by Ross Boylan <address@hidden>.

Index: Makefile.am
===================================================================
RCS file: /cvsroot/libtool/libtool/Makefile.am,v
retrieving revision 1.69.2.10
diff -u -r1.69.2.10 Makefile.am
--- Makefile.am 13 Apr 2004 00:04:55 -0000      1.69.2.10
+++ Makefile.am 20 Dec 2004 10:22:16 -0000
@@ -24,7 +24,7 @@
 # These are required by libtoolize and must be executable when installed.
 # Since _SCRIPTS gets the program transform applied we make them
 # executable by hand
-pkgdata_DATA = config.guess config.sub ltmain.sh
+pkgdata_DATA = config.guess config.sub install-sh ltmain.sh
 
 # This macro file should be visible to Automake's aclocal.
 aclocal_DATA = $(aclocal_macros)
@@ -75,6 +75,7 @@
        cd libltdl && $(MAKE) local-install-files
        chmod +x $(DESTDIR)$(pkgdatadir)/config.guess
        chmod +x $(DESTDIR)$(pkgdatadir)/config.sub
+       chmod +x $(DESTDIR)$(pkgdatadir)/install-sh
 
 # Uninstall libltdl
 uninstall-local:
@@ -155,6 +156,8 @@
 libltdl/config.guess \
 ./config.sub \
 libltdl/config.sub \
+./install-sh \
+libltdl/install-sh \
 doc/texinfo.tex
 
 ## Fetch the latest versions of files we care about.
@@ -165,6 +168,7 @@
 ## If a get fails then that is a problem.
        (cd Fetchdir && \
        $(WGETSGO)/autoconf/autoconf/INSTALL; \
+       $(WGETSGO)/automake/automake/lib/install-sh; \
        $(WGETSGO)/config/config/config.guess; \
        $(WGETSGO)/config/config/config.sub; \
        $(WGETSGO)/texinfo/texinfo/doc/texinfo.tex )
Index: NEWS
===================================================================
RCS file: /cvsroot/libtool/libtool/NEWS,v
retrieving revision 1.109.2.18
diff -u -r1.109.2.18 NEWS
--- NEWS        24 Nov 2004 17:22:03 -0000      1.109.2.18
+++ NEWS        20 Dec 2004 10:22:16 -0000
@@ -2,6 +2,7 @@
 
 New in 1.5.11a: 2004-??-??; CVS version 1.5.11a, Libtool team:
 * Support for Portland Group compiler on Linux.
+* libtoolize now also installs `install-sh'.
 * Bug Fixes.
 
 New in 1.5.10: 2004-09-19; CVS version 1.5.9a, Libtool team:
Index: libtoolize.in
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/libtoolize.in,v
retrieving revision 1.21.2.1
diff -u -r1.21.2.1 libtoolize.in
--- libtoolize.in       23 Jan 2004 06:06:27 -0000      1.21.2.1
+++ libtoolize.in       20 Dec 2004 10:22:16 -0000
@@ -158,7 +158,7 @@
   echo "$progname: cannot list files in \`$pkgdatadir'" 1>&2
   exit 1
 fi
-files='config.guess config.sub ltmain.sh'
+files='config.guess config.sub install-sh ltmain.sh'
 
 auxdir=.
 auxdirline=`grep '^AC_CONFIG_AUX_DIR' $configure_ac 2>/dev/null`
Index: doc/libtool.texi
===================================================================
RCS file: /cvsroot/libtool/libtool/doc/libtool.texi,v
retrieving revision 1.134.2.6
diff -u -r1.134.2.6 libtool.texi
--- doc/libtool.texi    29 Nov 2004 16:58:53 -0000      1.134.2.6
+++ doc/libtool.texi    20 Dec 2004 10:22:16 -0000
@@ -1839,6 +1839,10 @@
 @pindex config.sub
 Canonical system name validation subroutine script.
 
address@hidden install-sh
address@hidden install-sh
+BSD-compatible @command{install} replacement script.
+
 @item ltmain.sh
 @pindex ltmain.sh
 A generic script implementing basic libtool functionality.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]