Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3DE6B30B.1090205@ece.gatech.edu> Date: Thu, 28 Nov 2002 19:21:31 -0500 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Ralf Habacker CC: cygwin AT cygwin DOT com Subject: Re: [Patch] skipping import libraries for performance reasons - direct auto-import of dll's References: <00d001c29734$8119f210$0aa807d5 AT BRAMSCHE> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit >>Any comments on the revised patch? Is there a better way to handle the >>realpath()/REALPATH() thing? > 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. [Sigh. We don't need to bore the binutils people with this cygwin policy debate.] 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 -- 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/