Re: testsuite: distributed depending on non-distributed

2006-09-14 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Ralf,

According to Ralf Wildenhues on 9/13/2006 8:43 PM:
> 
> Thanks, but now I get `make check' failures for tests 42-47:
> 
> Cheers,
> Ralf
> 
> # -*- compilation -*-
> 42. modules.at:112: testing ...
> --- - 2006-09-14 04:25:19.179785000 +0200
> +++ /tmp/m4/build/tests/testsuite.dir/at-stderr   2006-09-14 
> 04:25:19.0 +0200
> @@ -1,5 +1,5 @@
>  Test module loaded.
>  test:
>  Test module unloaded.
> -m4:input.m4:6: Warning: dumpdef: undefined macro `test'
> +/tmp/m4/build/src/.libs/lt-m4:input.m4:6: Warning: dumpdef: undefined macro 
> `test'

Would it be worth it if libtool were to check if the shell's exec supports
the -a option, and if so, use that feature within the libtool wrapper so
that the invoked program is given the same argv[0] as the libtool wrapper
rather than an absolute path which exposes the different executable name
for uninstalled binaries?

- --
Life is short - so eat dessert first!

Eric Blake [EMAIL PROTECTED]
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFCS5t84KuGfSFAYARArFPAJ9MeZfMUwKdinmLh/E67VNDPEV8tQCgn+EJ
wmzJ4IzqmRYWP923MgHrzF8=
=/9/F
-END PGP SIGNATURE-


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


Re: testsuite: distributed depending on non-distributed

2006-09-14 Thread Ralf Wildenhues
Hello Eric,

* Eric Blake wrote on Thu, Sep 14, 2006 at 12:26:53PM CEST:
>
> > -m4:input.m4:6: Warning: dumpdef: undefined macro `test'
> > +/tmp/m4/build/src/.libs/lt-m4:input.m4:6: Warning: dumpdef: undefined 
> > macro `test'
> 
> Would it be worth it if libtool were to check if the shell's exec supports
> the -a option, and if so, use that feature within the libtool wrapper so
> that the invoked program is given the same argv[0] as the libtool wrapper
> rather than an absolute path which exposes the different executable name
> for uninstalled binaries?

I've had that thought before.  One downside is that many developers
may not be exposed to the problem at all, so may not notice the issue
and the need to work around it for systems with less capable shells.

It's a close call.  A portable solution would certainly be preferable.

Cheers,
Ralf


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


wrapper argv[0] [was: testsuite: distributed depending on non-distributed]

2006-09-14 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi again, Ralf,

According to Ralf Wildenhues on 9/14/2006 5:08 AM:
> Hello Eric,
> 
> * Eric Blake wrote on Thu, Sep 14, 2006 at 12:26:53PM CEST:
>>> -m4:input.m4:6: Warning: dumpdef: undefined macro `test'
>>> +/tmp/m4/build/src/.libs/lt-m4:input.m4:6: Warning: dumpdef: undefined 
>>> macro `test'
>> Would it be worth it if libtool were to check if the shell's exec supports
>> the -a option, and if so, use that feature within the libtool wrapper so
>> that the invoked program is given the same argv[0] as the libtool wrapper
>> rather than an absolute path which exposes the different executable name
>> for uninstalled binaries?
> 
> I've had that thought before.  One downside is that many developers
> may not be exposed to the problem at all, so may not notice the issue
> and the need to work around it for systems with less capable shells.
> 
> It's a close call.  A portable solution would certainly be preferable.

Could we at least add a spy in the configure script that sees what
platforms out there in current use do not have a shell capable of changing
argv[0]?  bash has 'exec -a name command', zsh has 'ARGV0=name command',
but I didn't find anything in my perusal of 'man pdksh'.  Or we could
always convert the libtool wrapper to a C program, and use execl ourselves
rather than relying on shell scripting for the wrapper.

- --
Life is short - so eat dessert first!

Eric Blake [EMAIL PROTECTED]
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFCTzQ84KuGfSFAYARAlukAKDIf6xf8sBR75wUqxTbz7lyH/Ma+gCgv7qO
FyD5zcazmMbSFpQ10KyLUpc=
=Jxf1
-END PGP SIGNATURE-


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


Move from handcrafted makefile to libtool

2006-09-14 Thread Stepan Kasal
Hello,
  project newt currently uses handcrafted makefiles and installs
libnewt like this:

/usr/lib/libnewt.so.0.52.1
/usr/lib/libnewt.so.0.52 -> libnewt.so.0.52.1

where SONAME is libnewt.so.0.52

We would like use automake with the project, which means libtool
should be used for shared libraries.

Is there a way to get the above soname, so that current applications
need not be recompiled?

The option -version-number seems to generate sonames in form
libname.so.n

Or is there a way to modify the builddir/libtool script to get this?

Please CC me, I'm not subscribed.

Thanks for any help,
Stepan Kasal


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


Re: AC_LIBTOOL_SYS_DYNAMIC_LINKER "gcc -print-search-dirs" problem

2006-09-14 Thread Peter O'Gorman


On Sep 14, 2006, at 4:18 AM, Kate Minola wrote:


Ralf, Peter,

Why not use the output of "gcc -print-search-dirs"
and, for every directory that ends with "lib", append the
value returned by "gcc -print-multi-os-directory"?  Naturally
one will have to "backup" directories such as

/usr/lib/gcc/x86_64-linux-gnu/4.0.3/../../..

to realize that it ends with "lib".  (Other than writing
a program, I do not see an easy way to do this last bit.)


Well, because I would rather use the flags that the compiler actually  
uses rather than the ones it says it uses, I'm still not sure that my  
method is best though...


While looking into a patch for this, I notice that  
sys_lib_search_path_spec is not a tagged var, so we run it for each  
compiler for each tag, with the latest one it finds being the final  
answer. Does not seem quite right to me.


I also came up with the awk expression from hell :-)
sys_lib_search_path_spec=`$CC $compilerFLAGS $CPPFLAGS $LDFLAGS -v -o  
conftest /dev/null 2>&1 | $AWK 'BEGIN {RS=" "; FS="/"; } /^-L\// {sub  
("-L",""); sub("//","/"); sub("/./","/");sub("/$","");foo="";for (i =  
NF; i > 0; i--) if ($i == "..") count++;else if (count == 0) if (foo  
== "")foo=$i; else foo=$i "/" foo; else count--;} { if (foo != "")  
freq[foo]++; if (freq[foo] == 1)print foo;}'`


Peter


___
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool


Re: AC_LIBTOOL_SYS_DYNAMIC_LINKER "gcc -print-search-dirs" problem

2006-09-14 Thread Ralf Wildenhues
Hello Peter,

* Peter O'Gorman wrote on Thu, Sep 14, 2006 at 05:22:30PM CEST:
> On Sep 14, 2006, at 4:18 AM, Kate Minola wrote:
> 
> >Why not use the output of "gcc -print-search-dirs"
[...]
> Well, because I would rather use the flags that the compiler actually  
> uses rather than the ones it says it uses, I'm still not sure that my  
> method is best though...

You may want to read this:
http://lists.gnu.org/archive/html/libtool-patches/2005-01/msg00181.html
and then decide whether to ignore it or not.  If yes, then that should
be documented.

(I think the reverse downside was that gcc would not list search dirs
that don't exist at the time; but I haven't tested it either and can't
find a reference to this now.)

> While looking into a patch for this, I notice that  
> sys_lib_search_path_spec is not a tagged var, so we run it for each  
> compiler for each tag, with the latest one it finds being the final  
> answer. Does not seem quite right to me.

Good catch.  Probably doing this for the C compiler only should be
enough.

> I also came up with the awk expression from hell :-)

You also came up with a writedown that was unreadable as hell. ;-)
(There is no need to avoid newlines; in the single-quoted awk script you
don't even have to backslash-quote them.)

You definitely want to use a real and valid object file as input.  You
want to skip all user-provided paths in CFLAGS or LDFLAGS.  And please
try it with
  echo -L/foo/bar/./.

as input.  And please take a look at the Autoconf portability section
about awk, this code is not gawk-only.

Cheers, and thanks,
Ralf


___
Bug-libtool mailing list
Bug-libtool@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-libtool