Re: noinst_bindir

2006-04-30 Thread Ralf Wildenhues
Hi Bob, Russ,

* Russ Allbery wrote on Sun, Apr 30, 2006 at 05:34:53AM CEST:
 Bob Rossi [EMAIL PROTECTED] writes:
 
  noinst_bin_PROGRAMS = gdbmi_driver
  noinst_bindir = $(top_builddir)/progs
 
 Try using $(abs_top_builddir) instead.  I've always had bad luck with
 relative paths and anything that involves libtool.

Libtool explicitly forbis relative paths because, portably, you can't
put libraries in paths other than the ones specified, and can't move
them around.  Luckily those systems are less used today.
(I know you know this, Russ; in fact, I'm citing (you?) here)

Hmm.  Maybe libtool should be less anal about relative paths when it
comes to installing programs.

Actually, I don't know what noinst_bin_PROGRAMS is supposed to mean.
noinst means it should not be installed; bin means it should be
installed in $(bindir).  The fact that Automake outputs an install rule
for this and doesn't die complaining looks awfully like an Automake bug
to me.  Or maybe it's just that the prefix rules have the priority the
other way round (match longest prefix first), gotta go and check.

Do you actually want 'make install' to copy into the build tree, a
binary linked against the installed libraries?

Cheers,
Ralf


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: noinst_bindir

2006-04-30 Thread Bob Rossi
On Sat, Apr 29, 2006 at 08:34:53PM -0700, Russ Allbery wrote:
 Bob Rossi [EMAIL PROTECTED] writes:
 
  I have 
 
  noinst_bin_PROGRAMS = gdbmi_driver
  noinst_bindir = $(top_builddir)/progs
 
 Try using $(abs_top_builddir) instead.  I've always had bad luck with
 relative paths and anything that involves libtool.

noinst_bin_PROGRAMS = gdbmi_driver
noinst_bindir = $(abs_top_builddir)/progs

Unfortunatly, that doesn't work either.

test -z /progs || mkdir -p -- /progs
mkdir: cannot create directory `/progs': Permission denied
make[2]: *** [install-noinst_binPROGRAMS] Error 1
make[2]: Leaving directory `/home/bob/cvs/gdbmi/builddir/src'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/bob/cvs/gdbmi/builddir/src'
make: *** [install-recursive] Error 1

Is this a misuse of the autotools on my part? or a bug in libtool?

Thanks,
Bob Rossi


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: noinst_bindir

2006-04-30 Thread Olly Betts
On 2006-04-30, Bob Rossi [EMAIL PROTECTED] wrote:
 Unfortunatly, that doesn't work either.

 test -z /progs || mkdir -p -- /progs
 mkdir: cannot create directory `/progs': Permission denied

abs_top_builddir isn't set in the Makefile (with automake 1.8.5, and I
can't see a ChangeLog entry in 1.9.6 saying this has changed), so make
replaces $(abs_top_builddir) with the empty string.  However
@abs_top_builddir@ is substituted, so you should be able to do:

abs_top_builddir = @abs_top_builddir@

noinst_bin_PROGRAMS = gdbmi_driver
noinst_bindir = $(abs_top_builddir)/progs

Cheers,
Olly



___
http://lists.gnu.org/mailman/listinfo/libtool


Re: noinst_bindir

2006-04-30 Thread Bob Rossi
On Sun, Apr 30, 2006 at 12:05:57PM +, Olly Betts wrote:
 On 2006-04-30, Bob Rossi [EMAIL PROTECTED] wrote:
  Unfortunatly, that doesn't work either.
 
  test -z /progs || mkdir -p -- /progs
  mkdir: cannot create directory `/progs': Permission denied
 
 abs_top_builddir isn't set in the Makefile (with automake 1.8.5, and I
 can't see a ChangeLog entry in 1.9.6 saying this has changed), so make
 replaces $(abs_top_builddir) with the empty string.  However
 @abs_top_builddir@ is substituted, so you should be able to do:
 
 abs_top_builddir = @abs_top_builddir@
 
 noinst_bin_PROGRAMS = gdbmi_driver
 noinst_bindir = $(abs_top_builddir)/progs

Hi Olly,

That does work. I'm using automake 1.9.5. This does fix the problem I'm
seeing.

Is there any difference between using abs_top_builddir vs top_builddir?
Will things stop working for my users that used to work?

Finally, is this a bug that libtool doesn't handle relative paths?

Thanks,
Bob Rossi


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: noinst_bindir

2006-04-30 Thread Olly Betts
On Sun, Apr 30, 2006 at 08:18:34AM -0400, Bob Rossi wrote:
 Is there any difference between using abs_top_builddir vs top_builddir?

The former has an absolute path, while the latter may not (in fact for
builddir I think it never will; for srcdir, the non-abs_ versions may
also in fact be absolute).

 Will things stop working for my users that used to work?

I don't think it would, but it's always wise to test changes...

 Finally, is this a bug that libtool doesn't handle relative paths?

I'm not sure my opinion counts for much, but I'd tend to think it's a
feature rather than a bug (for installation paths that is).

Cheers,
Olly


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: noinst_bindir

2006-04-30 Thread Russ Allbery
Bob Rossi [EMAIL PROTECTED] writes:

 noinst_bin_PROGRAMS = gdbmi_driver
 noinst_bindir = $(abs_top_builddir)/progs

 Unfortunatly, that doesn't work either.

 test -z /progs || mkdir -p -- /progs
 mkdir: cannot create directory `/progs': Permission denied

Well, that makes it look like abs_top_builddir isn't actually getting
set.  I'm not sure exactly what would cause that.

-- 
Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: noinst_bindir

2006-04-29 Thread Russ Allbery
Bob Rossi [EMAIL PROTECTED] writes:

 I have 

 noinst_bin_PROGRAMS = gdbmi_driver
 noinst_bindir = $(top_builddir)/progs

Try using $(abs_top_builddir) instead.  I've always had bad luck with
relative paths and anything that involves libtool.

-- 
Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/


___
http://lists.gnu.org/mailman/listinfo/libtool