From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26703 invoked by alias); 13 Oct 2010 17:23:46 -0000 Received: (qmail 26690 invoked by uid 22791); 13 Oct 2010 17:23:45 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from out1.smtp.messagingengine.com (HELO out1.smtp.messagingengine.com) (66.111.4.25) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 13 Oct 2010 17:23:39 +0000 Received: from compute1.internal (compute1.nyi.mail.srv.osa [10.202.2.41]) by gateway1.messagingengine.com (Postfix) with ESMTP id 859F6545 for ; Wed, 13 Oct 2010 13:23:37 -0400 (EDT) Received: from frontend1.messagingengine.com ([10.202.2.160]) by compute1.internal (MEProxy); Wed, 13 Oct 2010 13:23:37 -0400 Received: from [158.147.71.25] (158-147-71-25.harris.com [158.147.71.25]) by mail.messagingengine.com (Postfix) with ESMTPSA id 46410405EBE; Wed, 13 Oct 2010 13:23:37 -0400 (EDT) Message-ID: <4CB5EB18.6060708@cwilson.fastmail.fm> Date: Wed, 13 Oct 2010 17:23:00 -0000 From: Charles Wilson Reply-To: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4 MIME-Version: 1.0 To: cygwin@cygwin.com Subject: Re: Finding the SONAME for bzip2 References: <728415.12131.qm@web25503.mail.ukl.yahoo.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com X-SW-Source: 2010-10/txt/msg00331.txt.bz2 On 10/13/2010 12:02 PM, Al wrote: >> have you checked the bzip2 source package for cygwin ? >> I presume the mantainer already solved it > > Yes, I did. He adapted a different Makefile than I plan to use, so I > didn't want to dig to deep into his solution. He uses a big patch for > the main makefile. The bulk of that patch is concerned with the 'make install' rules. The next complication was because I wanted to allow simultaneous builds of both the static and shared libraries -- and to build separate test progs for each, and to RUN both test sets as part of 'make check'. It's only a tiny portion of the changes that are needed for building the shared library itself, and you should be able to figure out which bits those are by inspection. > However, bzip2 gives the alternative option to use a second Makefile > as addon to the main Makefile. It ships already with > Makefile-libbz2_so and Makefile-libbz2_dylib. I want to create > something like Makefile-cygbz2. Those are old and probably bit-rotted. Debian doesn't use it: http://patch-tracker.debian.org/patch/misc/view/bzip2/1.0.5-6/Makefile Although fedora does: http://pkgs.fedoraproject.org/gitweb/?p=bzip2.git;a=blob;f=bzip2.spec;h=31e2f48c42b70d2f363101b9e5afd5e440abf475;hb=HEAD with changes: http://pkgs.fedoraproject.org/gitweb/?p=bzip2.git;a=blob;f=bzip2-1.0.4-cflags.patch;h=209d738e2b20580234d376077b8c6f843dce3a0c;hb=HEAD http://pkgs.fedoraproject.org/gitweb/?p=bzip2.git;a=blob;f=bzip2-1.0.4-saneso.patch;h=6b3430cfdac5bf4fa37734b25326b102ca251bc4;hb=HEAD > Then I want to anderstand the overall policy for cygwin to be able to > port bigger packages. bzip2 is very small. By this it is a good > candidate to understand the procedure. Actually, bzip2 and zlib are very poor candidates. Most larger projects do NOT use hand-rolled Makefiles, especially when they are trying to build shared libraries on multiple platforms. Instead, they use make file generators or other build systems, that hide the complexity (and work around the deficiencies). E.g. autoconf+automake+libtool, or cmake, etc. These toolsets already know how to build shared libs on cygwin, and a whole lot more. Since most projects you will encounter already use build tools like these, you would get more 'bang for your buck' by learning how to use THEM to build shared libs on cygwin, since that knowledge will apply to a much larger class of candidate packages. For a simple, basic example, take a look at jpeg (the newer versions, 8b and above, use the autotools; prior to that they used...well, nevermind. It used to be very strange.) http://mirrors.kernel.org/sourceware/cygwin/release/jpeg/jpeg-8b-1-src.tar.bz2 -- Chuck -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple