X-Spam-Check-By: sourceware.org Message-ID: <195b3f1f0612172014o3f4c92bs910d674b9c3bcd50@mail.gmail.com> Date: Mon, 18 Dec 2006 13:14:17 +0900 From: "Wynfield Henman" To: cygwin AT cygwin DOT com Subject: Re: libraries In-Reply-To: <45801D69.8050204@cygwin.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <195b3f1f0612130010r1ff74342sfc4a699380ee873d AT mail DOT gmail DOT com> <45801D69 DOT 8050204 AT cygwin DOT com> X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 Larry, thank you for the explanation regarding libraries. On 12/14/06, Larry Hall (Cygwin) wrote: > Wynfield Henman wrote: > > I have managed to confuse myself regarding libraries under cygwin, > > after reading extensively on building dlls under cygwin..... > > > > Please check if my understanding is correct. > > (1) For simple static libraries ld's output is fine. > > Because only cygwin code will access it. > > > > (2) Does this follow with *nix shared library format? (if only used by > > cygwin programs which > > emulate *nix (does it also know about shared library objects)? > > > > (3) The ms-dll shared library format is only necessary if we want > > ms-programs to be able to > > use the program. > > > > > There's no incompatibility of object format between Cygwin static libs > and those created by the MS compiler. Ditto for DLLs. There is no such > thing as shared libraries in the traditional UNIX sense on Windows. The > only "incompatibilities" between Cygwin built libs/DLLs and MS's are: > > 1. References to C++ in libs/DLLs built in one won't be resolved in the > other (this is true when mixing and matching C++ object code from any > compiler). This is not a problem for C code. > > 2. Calling Cygwin compiled code from a native executable needs some extra > steps to make sure that the Cygwin C-runtime initialization code gets > called. The reverse situation is not generally a problem. > Larry... -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/