[Geotiff] Add automake/libtool build support + mingw/cygwin fixes

Charles Wilson geotiff at cwilson.fastmail.fm
Wed Feb 28 21:51:50 EST 2007


INTRODUCTION
===========================================================

This sequence of modifications and patches:
   (1) adds automake/libtool support to libgeotiff
   (2) makes necessary changes to support clean builds on
       cygwin and mingw
   (3) relocates the automake/autoconf-install files to
       build-aux/ directory
   (4) relocates the library source code to lib/ directory
   (5) refactor configure.in code into separate .m4 files
       for easier maintainance

The modified libgeotiff distribution has been tested successfully
on Cygwin, MinGW, and Linux.

An expanded version of this message and the actual patch have been 
entered as bugzilla #1498:
http://bugzilla.remotesensing.org/show_bug.cgi?id=1498

LIMITATIONS
===========================================================

I have not updated the makefile.vc nor makefile.mpw frameworks

[ snipped a bunch of stuff, including various "non-patch" changes, like 
file renames, moves, and removals.  See the attachment to the bugzilla 
entry ]


This is a fairly invasive change, as it involves moving a lot of files 
around.  This made for a cleaner automake/libtool setup, and will also 
enable some other (hopefully useful) improvements I have waiting in the 
wings.  However, as it is disruptive, there should be a thorough 
discussion of the proposed changes (just let me get my asbestos hazmat 
suit on, first...)



-- 
Charles Wilson
libgeotiff maintainer for the cygwin platform



CHANGELOG
===========================================================
Describes only the changes in the main patch, but does not
describe the changes induced by the instructions above,
such as file renames or autoreconf effects.


2007-02-18  Charles Wilson  <...>

     * Makefile.am: new file
     * bin/Makefile.am: new file
     * bin/csv2html.c: include cpl_csv.c which exists, not
     cpl_csv.h which doesn't.
     * bin/listgeo.c: don't use backslash as dirsep on cygwin
     * configure.ac: completely refactor. Argument handling
     for libraries relocated to m4/ files.
     * csv/Makefile.am: new file
     * csv/odbc2csv/sqlcolumn.h: make include guards match other files
     * csv/odbc2csv/sqldirect.h: make include guards match other files
     * lib/Makefile.am: new file
     * lib/cpl_csv.c: don't use backslash as dirsep on cygwin
     * lib/cpl_serv.h: make include guards match other files. Use
     libgeotiff-specific macros BUILDING_LIBGEOTIFF and
     LIBGEOTIFF_DLL_EXPORTED rather than generic CPL_DLL and BUILD_AS_DLL.
     Incorporate libtool-defined DLL_EXPORT macro.
     * lib/geo_config.h.in: regenerated by autoheader
     * lib/geo_config.h.vc: use libgeotiff-specific BUILDING_LIBGEOTIFF
     instead of generic BUILD_AS_DLL macro. In combination with change
     to makefile.vc to #define DLL_EXPORT, end result is the same
     (untested)
     * lib/geo_normalize.h: make include guards match other files.
     Use libgeotiff-specific LIBGEOTIFF_DLL_EXPORTED instead of
     generic CPL_DLL macro. Use public proj API (and HAVE_PROJ_API_H
     macro) instead of private one (and HAVE_PROJECTS_H macro).
     * lib/geo_tiffp.h: Use libgeotiff-specific LIBGEOTIFF_DLL_EXPORTED
     instead of generic CPL_DLL macro.
     * lib/geotiff.h: Use libgeotiff-specific macros BUILDING_LIBGEOTIFF
     and LIBGEOTIFF_DLL_EXPORTED rather than generic CPL_DLL and
     BUILD_AS_DLL. Incorporate libtool-defined DLL_EXPORT macro.
     * lib/geotiff_proj4.c: Use public proj API (and HAVE_PROJ_API_H
         macro) instead of private one (and HAVE_PROJECTS_H macro).
     * lib/makefile.vc: Mimic libtool behavior for DLLs by #defining
     DLL_EXPORT
     * libxtiff/xtiffio.h: Use libgeotiff-specific macros
     BUILDING_LIBGEOTIFF and LIBGEOTIFF_DLL_EXPORTED rather than
     generic CPL_DLL and BUILD_AS_DLL. Incorporate libtool-defined
     DLL_EXPORT macro.
     * m4/geotiff_add_jpeg_opts.m4: More flexible adaption of jpeg
     option code from configure.in
     * m4/geotiff_add_proj_opts.m4: More flexible adaptation of proj
     option code from configure.in
     * m4/geotiff_add_tiff_opts.m4: More flexible adaptation of tiff
     option code from configure.in
     * m4/geotiff_add_zlib_opts.m4: More flexible adaptation of zlib
     option code from configure.in


More information about the Geotiff mailing list