[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