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 <prefix>/lib & <prefix>/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: <srcdir>Makefile.config : INSTALL_PREFIX = /usr (line 518) INSTALLBINARIES = $(INSTALL_PREFIX)/bin (line 523) <srcdir>/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 <prefix>/bin/netpbm into <prefix>/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 >> > >