Subject: RE: [Patch] skipping import libraries for performance reasons - direct auto-import of dll's
From: "Ralf Habacker" <[email-masked]>
To: "Charles Wilson" <[email-masked]>
Cc: <[email-masked]>
Date: Sat, 30 Nov 2002 22:39:09 +0100

> > The only thing I like to say is, that instead of using a symbolic
> link to the
> > dll, the "unix" way may be possible.
> > What I mean is to put the dll into the lib dir (like the .so
> libraries in unix,
> > the bin dir contains only executables) and to implement a LD_LIBRARY_PATH
> > environmen support into cygwin1.dll, so that the dll could be used
> directly. But
> > this is only an idea and there may be objectivies not to do so.
>
> No, not really.  The windows runtime loader handles loading the DLL, and
> IT doesn't understand "LD_LIBRARY_PATH" and never will (closed source,
> MS, yadda yadda).  So it doesn't really matter whether cygwin1.dll
> understands LD_LIBRARY_PATH or not -- cygwin1.dll is not involved in
> loading DLLs (except for dlopen(), but that's a different subject).
>
> Two choices:
>    1) put /usr/lib, /usr/local/lib, etc etc into $PATH
>    2) or do the symlink thing
>
> Personally, I don't want to clutter the PATH with a bunch of lib
> directories -- and neither do you, Ralf.  You're always worried about
> speed on cygwin, and proposing things like auto-rebasing and prelinking
> and all sorts of disruptive things.
>
> But according to MSDN, the one thing that slows program startup the MOST
> is searching for DLLs in a long PATH.  So, keep PATH short -- which
> means the DLLs need to live in the 'bin' directories which are already
> in the PATH.  That means
>
> we either put -L/usr/bin and suchlike into the gcc specs file (BLECH!)
> or do the symlink thing.  Me, I vote for symlinks.  :-)
>
Chuck, thanks for answering. Yes you're right. symlinking seems to me as the
best way.

BTW: I'm astonished about your detailed and accurate writing. I wished, I could
write a litter faster: -)

Ralf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/