delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/10/13/13:23:50

X-Recipient: archive-cygwin AT delorie DOT com
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
Message-ID: <4CB5EB18.6060708@cwilson.fastmail.fm>
Date: Wed, 13 Oct 2010 13:23:36 -0400
From: Charles Wilson <cygwin AT cwilson DOT fastmail DOT fm>
Reply-To: Charles Wilson <cygwin AT cwilson DOT fastmail DOT fm>
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 AT cygwin DOT com
Subject: Re: Finding the SONAME for bzip2
References: <AANLkTi=3d=-DuL8xTHcg=L861zZv=xCZH=iy=DHU=hpN AT mail DOT gmail DOT com> <728415 DOT 12131 DOT qm AT web25503 DOT mail DOT ukl DOT yahoo DOT com> <AANLkTikm=LJd6=QPf23++yQDTg1D8CRJWE3enzK0N=1s AT mail DOT gmail DOT com>
In-Reply-To: <AANLkTikm=LJd6=QPf23++yQDTg1D8CRJWE3enzK0N=1s@mail.gmail.com>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019