Hello Gary,

Gary V. Vaughan <[EMAIL PROTECTED]> wrote:

GVV> On Sun, Sep 10, 2000 at 12:57:46PM +0300, Paul Sokolovsky wrote:
>> Hello libtool-patches,

GVV> Hello =)O|

>>   Here's first chunk of my patches - since some are probably will
>> require corrections, I decided to split them starting with most
>> harmless.

GVV> Thanks, that is much appreciated.  However you attachments have been
GVV> truncated, or else you generated the patch with the wrong version.
GVV> Almost all of what you mention in the Changelog entry is missing =(O|

     Strange, I did diff against CVS head, copy of message returned to
me contains everything I put there. Unfortunately, there's no online
archive of libtool-patches (why?), so I can't look there.

>> There are support for pw32,

GVV> I can see some of this, but it was incomplete.  I have applied
GVV> something similar, under the assumption that pw32 takes '/' delimited
GVV> paths, and has no libc or libm (-lc and -lm are discarded).  It is no
GVV> coincidence that this is the same mode of operation of libtool under
GVV> cygwin =)O|

     Thanks! That's what I wanted first of all - shorten size of my
patches.

>> giving up using hyphens as revision numbers delimiters,

GVV> DJGPP (and presumably other DOS ports of gcc) uses 8.3 filenames, so
GVV> only a single `.' is allowed.  I accept that the current
GVV> libfoo-p-q-r.dll already violates the 8.3 limit, but I would like to
GVV> support DJGPP better than we do already.  I guess this means I need to
GVV> install it, and see what breaks.  Awaiting your patch =)O|

GVV> Agreed in principle, however we need to be careful of 8.3 again =(O| I
GVV> guess this means special casing DJGPP.

     But how that influence DJGPP or other DOS ports of gcc? That
change applies only to win32 hosts (in fact, only to gnu-win32, I
intentionally left hyphen-delimited naming for non-gcc's). Only time
this may apply is when cross-compiling from djgpp to gun-win32 host.
Well, then:

- If it is done on one of win9x systems, LFN facility is used which
transparently proxies win32 naming to djgpp apps.
- For NT systems, there're separate package to achieve that.
- Only when one does that on bare dos, that will be problem. But I
guess it's fair to suggest in such case to take care that djgpp
convert filenames to representation acceptable by underlying layer.
(And IMHO, this might be done in official djgpp - well, maybe it's
even done already, I'm looking at 2.01 _put_path()).

>>   Note comented line with s/^lib/cyg/ - that's about my proposal for
>> using cyg prefix for cygwin dlls.

GVV> I would like a patch that allows an extra libtool option to name the
GVV> dll part of a win32 shared library as specified by the developer.  I
GVV> think the cleanest way to do this is to add a `-soname FILENAME'
GVV> option to the link mode of ltmain.in, which on win32 is use to name
GVV> the dll part, but is passed to the linker by default.  Maybe we need
GVV> to intercept -Xlinker,-soname and -Wl,-soname too?  Alexandre, do you
GVV> have any suggestions on how to go about this?

GVV> Anyway, such a system will allow sensible cygwin developers to use

GVV>   libtool --mode=link gcc -no-undefined -soname cygfoo.dll ....

GVV> And you to use

GVV>   libtool --mode=link gcc -no-undefined -soname pwfoo.dll ....

GVV> from the same codebase.

     But my original patch (hm, below) would allow to save sensibility
for something more useful. Don't provide excess configurability when
it's hardly needed. (Automake won't generate that option specially for
gnu-win32, will it? And when I would like DLL name to differ from
standard, I can simply rename it after building.) YMMV


   if test "$ac_cv_prog_gcc" = yes; then
-    library_names_spec='${libname}`echo ${release} | sed -e 
's/[.]/-/g'`${versuffix}.dll'
+    case "$host_os" in
+#     cygwin*) library_names_spec=`echo ${libname} | sed -e 
+'s/^lib/cyg/'`'${release}${versuffix}.so $libname.dll.a' ;;
+      pw32*)   library_names_spec='${libname}${release}${versuffix}.so 
+$libname.dll.a' ;;
+      *)       library_names_spec='${libname}${release}${versuffix}.dll 
+$libname.dll.a' ;;
+    esac
   else
     library_names_spec='${libname}`echo ${release} | sed -e 
's/[.]/-/g'`${versuffix}.dll $libname.lib'
   fi


GVV> Cheers,
GVV>         Gary.

--
Paul Sokolovsky, IT Specialist
http://www.brainbench.com/transcript.jsp?pid=11135


Reply via email to