Re: FYI: latest official cygwin libtool

2009-02-27 Thread Peter Rosin

Den 2009-02-26 05:39 skrev Charles Wilson:

Peter Rosin wrote:


*snip*


Your resulting code is e.g. in some cases setting LT_AR to:
LT_AR='$(SHELL) $(top_builddir)/libtool --quiet --mode=ar'
but your libtool script does not support --mode=ar


Yep. The patches/commits weren't quite as independent as I thought, and
some that I pseudo-cherry-picked depended on others that I didn't.


However, I'm not sure it is a wise thing to feed --mode=ar to the
wilderness
without an ok on the interface from at least one libtool maintainer?


Meh. Cygwin doesn't use it, and it's broken so nobody will actually be
ABLE to use it, so I might get some complaints on the cygwin list.  But
I doubt any of those complaints will show up on this list; and if they
do, just blame me for pushing untested patches into the wild and tell
the OP to check the real pr-msvc branch if they're really interested.


You seem to think that the libtool you release in cygwin is limited to
cygwin users. That is not the case. When some upstream package maintainer
actually uses cygwin for development (I do), libtoolizes his/her package
with your patches (I don't, but that's only because I happen to know
there's a difference), releases a tarball, then every end-user of that
package gets your patches. I think you have to consider that...


Note that I made a mistake when I commited [2]. It was never intended to
go into the pr-msvc-support branch without the above ok [4].


Oh. Didn't realize that.

And the 07- patch seems to break ordinary crosses. 


Well now, that /would/ be bad.


My version assumed that
the toolchain is an ordinary cross toolchain which understands $build
paths,
except in cases where it knows it doesn't (i.e. $host=mingw, $build=mingw).
Your version assumes that the toolchain is not ordinary, but instead one
that understands $host paths (at least when $host is mingw or cygwin).


That wasn't my intent.  I was attempting to add the caching behavior
(which, because of autoconf limitations, requires a whole separate
case...esac tree from the to_host_path_cmd tree: you can't cache two
different variables at once).  But I hoped that, while using the
different m4 code structure, the behavior stayed the same as yours.


Hmmm, I now realize that I was confusing your patch with my unpublished
rework of the patch that you found in the preview git tree. My reworked
patch looks like this (I.e. it's no longer intertwined with the to_host
check):

+AC_MSG_CHECKING([how to convert $build paths to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_path_cmd,
+[#assume ordinary cross tools, or native build.
+lt_to_tool_path_cmd=func_noop_path_convert
+case $host in
+  *mingw* )
+case $build in
+  *mingw* ) # actually msys
+lt_cv_to_tool_path_cmd=func_msys_to_mingw_path_convert
+;;
+esac
+;;
+esac
+])
+to_tool_path_cmd=$lt_cv_to_tool_path_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_path_cmd])
+_LT_DECL([to_tool_path_cmd], [lt_cv_to_tool_path_cmd],
+ [0], [convert $build paths to toolchain format])dnl
+AC_SUBST([to_tool_path_cmd])dnl

This mistake of mine made it hard for me to understand why you had
fleshed that out with all the other cases from the to_host case-tree.
But of course you hadn't fleshed out anything, you wrote the
cache check independently, and it looked so similar to my version
(we both copied your to_host code) that I was confused.


However, because I didn't pseudo-cherry-pick the patch which actually
USES the new func_to_tool_path function...I didn't actually *break*
anything in my build.


Right, now I see. You have not included enough to make it matter. Sorry
for the panic attack...


But I can see that if you accepted my 07- patch, it would break your
pre-existing USES of func_to_tool_path.

However, the fix to my 07- patch is just a couple of one-liners, right?


See above :-)

*snip*



The patches in pr-msvc-support and in my preview git tree are not
independent, even when they touch the same area, for this reason:

The patches *in* pr-msvc-support have been approved by some libtool
maintainer (read: Ralf) (not counting the 4 patches that I pushed
by mistake). Then there are patches waiting for review to get into
the branch (or master), and lastly there are patches that depends on
external patches not yet fully reviewed. So, three classes:

a) in the branch (except 4 patches belonging in b)
b) waiting for review
c) depending on externals

In the case of the AR patches there is, as you've discovered, patches
in all of a, b and c.

Also, when something has gone into the branch, I'm hesitant to change
it. I feel that it is much better to just add patches on top in order
to preserve history. This makes it harder to cherry-pick, of course.

The complexities and the length of my patch queue is not all my fault.
Believe me, noone would be happier than me if it wasn't such a mess.

Cheers,
Peter




Re: Suppressing --whole-archive

2009-02-27 Thread Barthelemy von Haller

Hi Ralf,

Ralf Wildenhues a écrit :
[...]

Do files /usr/lib/mysql/libmysqlclient.la and /usr/lib/mysql/libz.la
exist, and if yes, could you please post their contents?
  
  

Yes they exist.




[...]


OK, now I'm officially confused.  Both of the libraries are not
convenience archives (as indicated by the nonempty 'libdir' and
'installed' settings).  So I still don't see where this whole archive
thingy comes from.  Could be one of the other libraries.  But in order
to be able to say for sure, I would need to look at the output of
  /bin/sh ../../libtool --tag=CXX --config

as well as the output of the --mode=link command line above, with
--debug added as first argument after ../../libtool.  Please gzip this
output, it will be large.
  
I am not completely sure of what you asked in second (--mode=link) but 
here is what I did :

/bin/sh ../../libtool --tag=CXX --config  libtoolOutput1.txt
/bin/sh ../../libtool --debug --tag=CXX --mode=link  libtoolOutput2.txt 
21
I would be pleased to send other information if that was not what you 
meant.

I attached a tgz with the two files.

Thanks,
Ralf
  

Thanks a lot, and have a nice week-end !
Barth

--
Barthélémy von Haller
barthelemy.von.hal...@cern.ch
CERN PH-AID (ALICE DAQ)



output.tgz
Description: GNU Zip compressed data
___
http://lists.gnu.org/mailman/listinfo/libtool


Re: Suppressing --whole-archive

2009-02-27 Thread Ralf Wildenhues
* Barthelemy von Haller wrote on Fri, Feb 27, 2009 at 03:22:51PM CET:
 Ralf Wildenhues a écrit :
 [...] I would need to look at the output of
   /bin/sh ../../libtool --tag=CXX --config

 as well as the output of the --mode=link command line above, with
 --debug added as first argument after ../../libtool.  Please gzip this
 output, it will be large.
   
 I am not completely sure of what you asked in second (--mode=link) but  
 here is what I did :
 /bin/sh ../../libtool --tag=CXX --config  libtoolOutput1.txt
 /bin/sh ../../libtool --debug --tag=CXX --mode=link  libtoolOutput2.txt  
 21
 I would be pleased to send other information if that was not what you  
 meant.

The first is ok.   For the second, I meant to see the output of the
following long line, when run in the correct directory:

/bin/sh ../../libtool --debug --mode=link g++ -fPIC -Wall -Wextra -Wshadow 
-Wredundant-decls  -g -O2   -o libAmoreCore.la -rpath /opt/amore/lib -release 
1.1 -L/local/root/lib -L/date/monitoring/Linux -lmonitor -L/usr/local/lib 
-lshift -L/date/db/Linux -lDb -L/date/infoLogger/Linux -lInfo -rdynamic 
-L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lmygcc -lCore -lCint 
-lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix 
-lPhysics -lMathCore -lThread -lGui -pthread -lm -ldl -rdynamic -rdynamic 
-L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lmygcc   -lRMySQL 
CoreDict.lo StringUtility.lo Event.lo MOMessage.lo MonitorInterface.lo 
MonitorObject.lo MySQLServer.lo PoolInterface.lo RuntimeModule.lo 
SocketInterface.lo TDATEEventParser.lo Run.lo Session.lo LogBook.lo 
InfoLogger.lo RunControl.lo AmoreDA.lo AmoreDABackEnd.lo

(and yes, both stdout and stderr in the same file please).

You can probably get this output also with something like
  make
  rm -f libAmoreCore.la
  make libAmoreCore.la LIBTOOLFLAGS=--debug

if you are using Automake = 1.10.

Thanks,
Ralf


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


Re: Suppressing --whole-archive

2009-02-27 Thread Barthelemy von Haller

Hi,

Ralf Wildenhues a écrit :

* Barthelemy von Haller wrote on Fri, Feb 27, 2009 at 03:22:51PM CET:
  

Ralf Wildenhues a écrit :


[...] I would need to look at the output of
  /bin/sh ../../libtool --tag=CXX --config

as well as the output of the --mode=link command line above, with
--debug added as first argument after ../../libtool.  Please gzip this
output, it will be large.
  
  
I am not completely sure of what you asked in second (--mode=link) but  
here is what I did :

/bin/sh ../../libtool --tag=CXX --config  libtoolOutput1.txt
/bin/sh ../../libtool --debug --tag=CXX --mode=link  libtoolOutput2.txt  
21
I would be pleased to send other information if that was not what you  
meant.



The first is ok.   For the second, I meant to see the output of the
following long line, when run in the correct directory:

/bin/sh ../../libtool --debug --mode=link g++ -fPIC -Wall -Wextra -Wshadow 
-Wredundant-decls  -g -O2   -o libAmoreCore.la -rpath /opt/amore/lib -release 
1.1 -L/local/root/lib -L/date/monitoring/Linux -lmonitor -L/usr/local/lib 
-lshift -L/date/db/Linux -lDb -L/date/infoLogger/Linux -lInfo -rdynamic 
-L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lmygcc -lCore -lCint 
-lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix 
-lPhysics -lMathCore -lThread -lGui -pthread -lm -ldl -rdynamic -rdynamic 
-L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lmygcc   -lRMySQL 
CoreDict.lo StringUtility.lo Event.lo MOMessage.lo MonitorInterface.lo 
MonitorObject.lo MySQLServer.lo PoolInterface.lo RuntimeModule.lo 
SocketInterface.lo TDATEEventParser.lo Run.lo Session.lo LogBook.lo 
InfoLogger.lo RunControl.lo AmoreDA.lo AmoreDABackEnd.lo

(and yes, both stdout and stderr in the same file please).
  

Ok, I have attached the output of the previous command.

You can probably get this output also with something like
  make
  rm -f libAmoreCore.la
  make libAmoreCore.la LIBTOOLFLAGS=--debug

if you are using Automake = 1.10.
  

I did with the first method.

Thanks,
Ralf
  

Cheers,
Barth

--
Barthélémy von Haller
barthelemy.von.hal...@cern.ch
CERN PH-AID (ALICE DAQ)



libtoolOutput3.tgz
Description: GNU Zip compressed data
___
http://lists.gnu.org/mailman/listinfo/libtool


Re: Suppressing --whole-archive

2009-02-27 Thread Barthelemy von Haller

Hi again, sorry the second attachment was wrong. Here is the correct one.

Cheers,
Barth

Ralf Wildenhues a écrit :

* Barthelemy von Haller wrote on Fri, Feb 27, 2009 at 03:22:51PM CET:
  

Ralf Wildenhues a écrit :


[...] I would need to look at the output of
  /bin/sh ../../libtool --tag=CXX --config

as well as the output of the --mode=link command line above, with
--debug added as first argument after ../../libtool.  Please gzip this
output, it will be large.
  
  
I am not completely sure of what you asked in second (--mode=link) but  
here is what I did :

/bin/sh ../../libtool --tag=CXX --config  libtoolOutput1.txt
/bin/sh ../../libtool --debug --tag=CXX --mode=link  libtoolOutput2.txt  
21
I would be pleased to send other information if that was not what you  
meant.



The first is ok.   For the second, I meant to see the output of the
following long line, when run in the correct directory:

/bin/sh ../../libtool --debug --mode=link g++ -fPIC -Wall -Wextra -Wshadow 
-Wredundant-decls  -g -O2   -o libAmoreCore.la -rpath /opt/amore/lib -release 
1.1 -L/local/root/lib -L/date/monitoring/Linux -lmonitor -L/usr/local/lib 
-lshift -L/date/db/Linux -lDb -L/date/infoLogger/Linux -lInfo -rdynamic 
-L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lmygcc -lCore -lCint 
-lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix 
-lPhysics -lMathCore -lThread -lGui -pthread -lm -ldl -rdynamic -rdynamic 
-L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lmygcc   -lRMySQL 
CoreDict.lo StringUtility.lo Event.lo MOMessage.lo MonitorInterface.lo 
MonitorObject.lo MySQLServer.lo PoolInterface.lo RuntimeModule.lo 
SocketInterface.lo TDATEEventParser.lo Run.lo Session.lo LogBook.lo 
InfoLogger.lo RunControl.lo AmoreDA.lo AmoreDABackEnd.lo

(and yes, both stdout and stderr in the same file please).

You can probably get this output also with something like
  make
  rm -f libAmoreCore.la
  make libAmoreCore.la LIBTOOLFLAGS=--debug

if you are using Automake = 1.10.

Thanks,
Ralf
  


--
Barthélémy von Haller
barthelemy.von.hal...@cern.ch
CERN PH-AID (ALICE DAQ)



libtoolOutput4.tgz
Description: GNU Zip compressed data
___
http://lists.gnu.org/mailman/listinfo/libtool


Re: Linking together .dll using .a static libraries

2009-02-27 Thread Roumen Petrov

LRN wrote:

OK, maybe it's a stupid question, but i have to ask anyway.
MinGW ships some static .a libraries. How do i link these to shared .dll
libraries? It seems that libtool always performs a check (filemagic in
my case) on each -lname argument, and to pass that check the library has
to be x86 archive import or x86 DLL, but not x86 archive static.


Some of those libraries are always linked as example mingwex.

Also you may pass flags to the linker: -Wl... Libtool pass it to the 
linker, i.e. you may pass def-file or library  (-lXXX) .


Roumen


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