Mailing-List: contact cygwin-apps-help AT cygwin DOT com; run by ezmlm Sender: cygwin-apps-owner AT cygwin DOT com List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps AT cygwin DOT com Delivered-To: mailing list cygwin-apps AT cygwin DOT com Message-ID: <3CCB14E2.5020507@ece.gatech.edu> Date: Sat, 27 Apr 2002 17:15:14 -0400 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2 X-Accept-Language: en-us MIME-Version: 1.0 To: Charles Wilson CC: Jan Nieuwenhuizen , cygwin-apps AT cygwin DOT com Subject: Re: ITP: netpbm References: <87r8l2pf8w DOT fsf AT peder DOT flower> <3CC998A6 DOT 3030104 AT ece DOT gatech DOT edu> <3CC9EA07 DOT 1080404 AT ece DOT gatech DOT edu> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Charles Wilson wrote: > As promised, take a look: > http://www.neuro.gatech.edu/users/cwilson/cygutils/testing/ > The -src package contains --- a patch, which does the following three > things: If you go back to http://www.neuro.gatech.edu/users/cwilson/cygutils/testing/ you'll see I've updated "my" version to netpbm-9.25, and split the binary package into two different packages: netpbm-9.25-1 libnetpbm9-9.25-1 (contains the DLLs alone). There is no separate -devel package, because without further work, you can't have two versions coexist side-by-side: the static libs, import libs, and header files are not themselves versioned, and they live right in /lib & /include, and not in subdirectories. I also significantly enlarged patch so that on windows/cygwin, the DLLs are created with the major version number -- at least that way, later we CAN have multiple version of the DLLs coexist, if there is a major interface change. (This is more important than the implib/statlib/header issue mentioned above). /usr/local/bin/cygpbm-9.dll /usr/local/bin/cygpgm-9.dll /usr/local/bin/cygppm-9.dll /usr/local/bin/cygpnm-9.dll I've split that patch into two separate patches: netpbm-submit.patch (the versioning changes, which should have no effect on non-windows platforms. Also, takes into account the recent official libpng policy change for versions -- see png-implement mailing list) netpbm-9.25-1-cygwin.patch (the updated version of my 9.24 patch; contains shtool, the cygwin-specific readme, and the ready-made Makefile.config file) Both are available at the /testing/ location above. I'll be submitting the netpbm-submit patch upstream. --Chuck P.S. Jan, to use "my" stuff, you'll probably want to change the following things: Makefile.config : INSTALL_PREFIX = /usr (line 518) INSTALLBINARIES = $(INSTALL_PREFIX)/bin (line 523) /CYGWIN-PATCHES/netpbm.README you'll need to fixup the pathnames I specified in the "This package contains..." section. netpbm-9.25-1.sh: remove line 120 -- I explicitly move the dlls from /bin/netpbm into /bin. You won't need that. > 1) creates a ready-made Makefile.config to implement the "policy" I > described: > INSTALL_PREFIX = /usr/local (line 469) > - you'll want to change that to /usr > PNGHDR_DIR = /usr/include (line 466) > - you'll want to make that /usr/include/libpngXX if > you use libpng-1.0.13 or libpng-1.2.2 > LDSHLIB = -shared -Wl,--enable-auto-image-base (line 460) > - you'll wnat to change that to -shared -Wl,--export-all > since (1) auto-image-base is no longer recommended, and > (2) export-all so you can take advantage of binutils' auto-export > fucntionality > INSTALLBINARIES = $(INSTALL_PREFIX)/bin/netpbm (line 474) > - this is the big controversy > > 2) creates a CYGWIN-PATCHES/netpbm.README files which describes how to > build [merged|normal][shared|static], and some analysis I did about > which version is the most space efficient. > > 3) creates CYGWIN-PATCHES/shtool : netpbm is one of those packages that > won't build outside of its own source tree, which complicates the > script-driven build procedure. As mentioned here: > http://www.cygwin.com/setup.html, I used GNU shtool's 'mkshadow' > function to replicate the whole source tree inside the .build directory > via symlinks. > > -src also contains: the build script, and the "pristine" tarball. But, > this is all based on 9.24, not 9.25, so it would take some adaptation to > use it, and merge my stuff with yours -- if you want it. > > Hope it's helpful. > > --Chuck > > > Charles Wilson wrote: > >> Wonderful, please do. >> >> BTW, I have had a private version of netpbm, packaged in a >> 'setup-compatible' way, for some time now. When I get home, I'll put >> my version somewhere that you can access; you may want to expropriate >> some of my patches... >> >> Also, which png have you linked against? 1.0.12, or 1.0.13? (Also, I >> have libpng-1.2.2 ready for upload to sourceware, but I'm waiting for >> the ripples from the massive 1.0.13 packaging changes to settle out...) >> >> --Chuck >> > >