[Git][debian-gis-team/libgeotiff][upstream] New upstream version 1.7.4~rc1

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Tue Feb 18 15:17:39 GMT 2025



Bas Couwenberg pushed to branch upstream at Debian GIS Project / libgeotiff


Commits:
22c18dc9 by Bas Couwenberg at 2025-02-18T16:08:32+01:00
New upstream version 1.7.4~rc1
- - - - -


28 changed files:

- CMakeLists.txt
- Makefile.am
- Makefile.in
- NEWS
- bin/CMakeLists.txt
- bin/Makefile.in
- bin/geotifcp.c
- cmake/CMakeLists.txt
- − cmake/FindGeoTIFF.cmake
- cmake/FindPROJ.cmake
- cmake/Makefile.am
- cmake/Makefile.in
- configure
- configure.ac
- geo_normalize.c
- geo_normalize.h
- geotiff.h → geotiff.h.in
- geotiff_proj4.c
- libxtiff/Makefile.in
- − makefile.vc
- man/Makefile.in
- man/man1/Makefile.in
- test/Makefile.am
- test/Makefile.in
- + test/data/epsg_27563_allgeokeys.tif
- + test/data/epsg_27563_only_pcs_code.tif
- test/testlistgeo
- test/testlistgeo_out.dist


Changes:

=====================================
CMakeLists.txt
=====================================
@@ -5,7 +5,7 @@
 # Author: Mateusz Loskot <mateusz at loskot.net>
 #
 ###############################################################################
-CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.13)
 
 PROJECT(GeoTIFF)
 
@@ -19,23 +19,32 @@ SET(GEOTIFF_LIBRARY_TARGET geotiff_library)
 SET(CMAKE_COLOR_MAKEFILE ON)
 
 # Version information
-set(PROJECT_VERSION_MAJOR 1)
-set(PROJECT_VERSION_MINOR 7)
-set(PROJECT_VERSION_PATCH 3)
-set(PROJECT_VERSION
-  "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
-set(GeoTIFF_VERSION ${PROJECT_VERSION})
+set(LIBGEOTIFF_MAJOR_VERSION 1)
+set(LIBGEOTIFF_MINOR_VERSION 7)
+set(LIBGEOTIFF_PATCH_VERSION 4)
+set(LIBGEOTIFF_REV_VERSION 0)
 
 # Set library version to match that of autoconf:
 # libgeotiff.so -> libgeotiff.so.5
-# libgeotiff.so.5 -> libgeotiff.so.5.3.2
-# libgeotiff.so.5.3.2
+# libgeotiff.so.5 -> libgeotiff.so.5.2.4
+# libgeotiff.so.5.2.4
 set(LINK_SOVERSION "5")
-set(LINK_VERSION "5.3.2")
+set(LINK_VERSION "5.2.4")
+
+set(PROJECT_VERSION_MAJOR ${LIBGEOTIFF_MAJOR_VERSION})
+set(PROJECT_VERSION_MINOR ${LIBGEOTIFF_MINOR_VERSION})
+set(PROJECT_VERSION_PATCH ${LIBGEOTIFF_PATCH_VERSION})
+set(PROJECT_VERSION
+  "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
+
+set(LIBGEOTIFF_STRING_VERSION "${PROJECT_VERSION}")
+set(LIBGEOTIFF_VERSION "${LIBGEOTIFF_MAJOR_VERSION}${LIBGEOTIFF_MINOR_VERSION}${LIBGEOTIFF_PATCH_VERSION}${LIBGEOTIFF_REV_VERSION}")
 
 string (TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
 string (TOUPPER ${PROJECT_NAME} PROJECT_NAME_UPPER)
 
+configure_file(geotiff.h.in ${CMAKE_CURRENT_BINARY_DIR}/geotiff.h @ONLY)
+
 # Allow advanced users to generate Makefiles printing detailed commands
 MARK_AS_ADVANCED(CMAKE_VERBOSE_MAKEFILE)
 
@@ -46,6 +55,8 @@ SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
 # General build settings
 
 option(BUILD_SHARED_LIBS "Set ON to build shared library" ON)
+option(BUILD_MAN "Set ON to build man pages" ON)
+option(BUILD_DOC "Set ON to build doc files" ON)
 
 IF(NOT CMAKE_BUILD_TYPE)
     SET(CMAKE_BUILD_TYPE Debug CACHE STRING
@@ -73,33 +84,7 @@ SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
 # SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${GEOTIFF_BUILD_OUTPUT_DIRECTORY})
 SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
 
-###############################################################################
-# Platform and compiler specific settings
-
-IF(WIN32)
-    IF(BUILD_SHARED_LIBS)
-        ADD_DEFINITIONS(-DBUILD_AS_DLL=1)
-    ENDIF()
-    IF(MSVC)
-        ADD_DEFINITIONS(/DW4)
-        if (NOT (MSVC_VERSION VERSION_LESS 1400))
-            ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE)
-            ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
-            ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_WARNING)
-            ADD_DEFINITIONS(-D_SCL_SECURE_NO_WARNINGS)
-        endif()
-    ENDIF(MSVC)
-ENDIF()
 
-IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
-    SET(COMPILE_FLAGS "-fPIC -Wall -Wno-long-long")
-    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMPILE_FLAGS} -std=c99")
-    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILE_FLAGS} -std=c++98")
-    IF(GEOTIFF_BUILD_PEDANTIC)
-        SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic")
-        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic")
-    ENDIF()
-ENDIF()
 
 # Check required standard headers
 INCLUDE(CheckIncludeFiles)
@@ -108,90 +93,33 @@ CHECK_INCLUDE_FILES(strings.h GEOTIFF_HAVE_STRINGS_H)
 ###############################################################################
 # User-defined build settings
 
-SET(WITH_UTILITIES TRUE CACHE BOOL "Choose if GeoTIFF utilities should be built")
+option(WITH_UTILITIES "Choose if GeoTIFF utilities should be built" ON)
+
+if (MSVC)
+    SET(INTERFACE_LIB_PREFIX _i CACHE STRING "Windows interface library suffix")
+endif (MSVC)
 
 ###############################################################################
 # Search for dependencies
 
-INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
-INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/libxtiff)
 
 # TIFF support - required, default=ON
-SET(WITH_TIFF TRUE CACHE BOOL "Choose if TIFF support should be built")
+option(WITH_TIFF "Choose if TIFF support should be built" ON)
 
 FIND_PACKAGE(PROJ NO_MODULE QUIET)
 if (NOT PROJ_FOUND)
-    FIND_PACKAGE(PROJ)
+  FIND_PACKAGE(PROJ REQUIRED)
 endif ()
 
-IF(PROJ_FOUND)
-    INCLUDE_DIRECTORIES(${PROJ_INCLUDE_DIR})
-ELSE()
-    MESSAGE(FATAL_ERROR "Failed to detect PROJ >= 6")
-ENDIF()
-
 # Zlib support - optional, default=OFF
-SET(WITH_ZLIB FALSE CACHE BOOL "Choose if zlib support should be built")
-
-IF(WITH_ZLIB)
-    FIND_PACKAGE(ZLIB NO_MODULE QUIET)
-    if (NOT ZLIB_FOUND)
-      FIND_PACKAGE(ZLIB)
-    endif ()
-
-    IF(ZLIB_FOUND)
-        SET(HAVE_ZIP 1)
-        INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
-        ADD_DEFINITIONS(-DHAVE_ZIP=${HAVE_ZIP})
-    ENDIF()
-ENDIF()
+option(WITH_ZLIB "Choose if zlib support should be built" OFF)
 
 # JPEG support - optional, default=OFF
-SET(WITH_JPEG FALSE CACHE BOOL "Choose if JPEG support should be built")
+option(WITH_JPEG  "Choose if JPEG support should be built" OFF)
 
-IF(WITH_JPEG)
-    FIND_PACKAGE(JPEG NO_MODULE QUIET)
-    if (NOT JPEG_FOUND)
-      FIND_PACKAGE(JPEG)
-    endif ()
-
-    IF(JPEG_FOUND)
-        SET(HAVE_JPEG 1)
-        INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
-        ADD_DEFINITIONS(-DHAVE_JPEG=${HAVE_JPEG})
-    ENDIF()
-ENDIF()
-
-IF(WITH_TIFF)
-    FIND_PACKAGE(TIFF NO_MODULE QUIET)
-    if (NOT TIFF_FOUND)
-      FIND_PACKAGE(TIFF REQUIRED)
-    endif ()
-
-    IF(TIFF_FOUND)
-        # Confirm required API is available
-        INCLUDE(CheckFunctionExists)
-        SET(CMAKE_REQUIRED_LIBRARIES ${TIFF_LIBRARIES})
-
-        CHECK_FUNCTION_EXISTS(TIFFOpen HAVE_TIFFOPEN)
-        IF(NOT HAVE_TIFFOPEN)
-            SET(TIFF_FOUND) # ReSET to NOT found for TIFF library
-            MESSAGE(FATAL_ERROR "Failed to link with libtiff - TIFFOpen function not found")
-        ENDIF()
-
-        CHECK_FUNCTION_EXISTS(TIFFMergeFieldInfo HAVE_TIFFMERGEFIELDINFO)
-        IF(NOT HAVE_TIFFMERGEFIELDINFO)
-            SET(TIFF_FOUND) # ReSET to NOT found for TIFF library
-            MESSAGE(FATAL_ERROR "Failed to link with libtiff - TIFFMergeFieldInfo function not found. libtiff 3.6.0 Beta or later required. Please upgrade or use an older version of libgeotiff")
-        ENDIF()
-
-        INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
-        ADD_DEFINITIONS(-DHAVE_TIFF=1)
-    ENDIF(TIFF_FOUND)
-ENDIF(WITH_TIFF)
 
 # Turn off TOWGS84 support
-SET(WITH_TOWGS84 TRUE CACHE BOOL "Build with TOWGS84 support")
+option(WITH_TOWGS84 "Build with TOWGS84 support" ON)
 IF (NOT WITH_TOWGS84)
    SET(GEO_NORMALIZE_DISABLE_TOWGS84 1)
 endif()
@@ -212,7 +140,7 @@ MESSAGE(STATUS "Generating geo_config.h header - done")
 # Installation settings
 
 SET(GEOTIFF_LIB_HEADERS
-    geotiff.h
+    ${CMAKE_CURRENT_BINARY_DIR}/geotiff.h
     geotiffio.h
     geovalues.h
     geonames.h
@@ -241,24 +169,21 @@ SET(GEOTIFF_MAN_PAGES
     man/man1/geotifcp.1
     man/man1/listgeo.1)
 
-#    ${PROJECT_BINARY_DIR}/geotiff_version.h
-
 # Install doc files
-INSTALL(FILES
+if(BUILD_DOC)
+  INSTALL(FILES
     AUTHORS ChangeLog COPYING LICENSE README README_BIN README.WIN
     DESTINATION ${CMAKE_INSTALL_DOCDIR})
+endif ()
 
 # Install man pages
-INSTALL(FILES ${GEOTIFF_MAN_PAGES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
-
+if(BUILD_MAN)
+  INSTALL(FILES ${GEOTIFF_MAN_PAGES} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
+endif ()
 
 # Install header files for development distribution
 INSTALL(FILES ${GEOTIFF_LIB_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
 
-###############################################################################
-# Build libxtiff library
-
-ADD_SUBDIRECTORY(libxtiff)
 
 ###############################################################################
 # Build libgeotiff library
@@ -290,8 +215,68 @@ endif ()
 ADD_LIBRARY(${GEOTIFF_LIBRARY_TARGET}
     ${GEOTIFF_LIB_SOURCES} ${XTIFF_SOURCES})
 
+set_property(TARGET ${GEOTIFF_LIBRARY_TARGET} PROPERTY CXX_STANDARD 98)
+set_property(TARGET ${GEOTIFF_LIBRARY_TARGET} PROPERTY C_STANDARD 99)
+set_property(TARGET ${GEOTIFF_LIBRARY_TARGET} PROPERTY POSITION_INDEPENDENT_CODE ON)
+set_property(TARGET ${GEOTIFF_LIBRARY_TARGET} PROPERTY OUTPUT_NAME ${GEOTIFF_LIB_NAME})
+
+IF(WITH_JPEG)
+    FIND_PACKAGE(JPEG NO_MODULE QUIET)
+    if (NOT JPEG_FOUND)
+      FIND_PACKAGE(JPEG)
+    endif ()
+
+    IF(JPEG_FOUND)
+        SET(HAVE_JPEG 1)
+        TARGET_INCLUDE_DIRECTORIES(${GEOTIFF_LIBRARY_TARGET} PRIVATE ${JPEG_INCLUDE_DIR})
+        target_compile_definitions(${GEOTIFF_LIBRARY_TARGET} PRIVATE -DHAVE_JPEG=${HAVE_JPEG})
+    ENDIF()
+ENDIF()
+
+
+IF(WITH_TIFF)
+    FIND_PACKAGE(TIFF NO_MODULE QUIET)
+    if (NOT TIFF_FOUND)
+      FIND_PACKAGE(TIFF REQUIRED)
+    endif ()
+
+    IF(TIFF_FOUND)
+        # Confirm required API is available
+        INCLUDE(CheckFunctionExists)
+        SET(CMAKE_REQUIRED_LIBRARIES ${TIFF_LIBRARIES})
+
+        CHECK_FUNCTION_EXISTS(TIFFOpen HAVE_TIFFOPEN)
+        IF(NOT HAVE_TIFFOPEN)
+            SET(TIFF_FOUND) # ReSET to NOT found for TIFF library
+            MESSAGE(FATAL_ERROR "Failed to link with libtiff - TIFFOpen function not found")
+        ENDIF()
+
+        CHECK_FUNCTION_EXISTS(TIFFMergeFieldInfo HAVE_TIFFMERGEFIELDINFO)
+        IF(NOT HAVE_TIFFMERGEFIELDINFO)
+            SET(TIFF_FOUND) # ReSET to NOT found for TIFF library
+            MESSAGE(FATAL_ERROR "Failed to link with libtiff - TIFFMergeFieldInfo function not found. libtiff 3.6.0 Beta or later required. Please upgrade or use an older version of libgeotiff")
+        ENDIF()
+
+        TARGET_INCLUDE_DIRECTORIES(${GEOTIFF_LIBRARY_TARGET} PRIVATE ${TIFF_INCLUDE_DIR})
+        TARGET_COMPILE_DEFINITIONS(${GEOTIFF_LIBRARY_TARGET} PRIVATE -DHAVE_TIFF=1)
+    ENDIF(TIFF_FOUND)
+ENDIF(WITH_TIFF)
+
+IF(WITH_ZLIB)
+    FIND_PACKAGE(ZLIB REQUIRED )
+    IF(ZLIB_FOUND)
+        SET(HAVE_ZIP 1)
+        TARGET_INCLUDE_DIRECTORIES(${GEOTIFF_LIBRARY_TARGET} PRIVATE ${ZLIB_INCLUDE_DIR})
+        TARGET_COMPILE_DEFINITIONS(${GEOTIFF_LIBRARY_TARGET} PRIVATE -DHAVE_ZIP=${HAVE_ZIP})
+    ENDIF()
+ENDIF()
+
+TARGET_INCLUDE_DIRECTORIES(${GEOTIFF_LIBRARY_TARGET} PUBLIC
+                            $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/>
+                            $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/libxtiff>
+                            $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 IF(WIN32 AND MSVC)
-    SET_TARGET_PROPERTIES(${GEOTIFF_LIBRARY_TARGET} PROPERTIES IMPORT_SUFFIX "_i.lib")
+    SET_TARGET_PROPERTIES(${GEOTIFF_LIBRARY_TARGET} PROPERTIES IMPORT_SUFFIX "${INTERFACE_LIB_PREFIX}.lib")
 ENDIF(WIN32 AND MSVC)
 
 # Unix, linux:
@@ -310,8 +295,31 @@ if(UNIX)
    endif()
 endif()
 
-SET_TARGET_PROPERTIES(${GEOTIFF_LIBRARY_TARGET} PROPERTIES
-   OUTPUT_NAME ${GEOTIFF_LIB_NAME})
+###############################################################################
+# Platform and compiler specific settings
+
+IF(WIN32)
+    IF(BUILD_SHARED_LIBS)
+        target_compile_definitions(${GEOTIFF_LIBRARY_TARGET} PRIVATE -DBUILD_AS_DLL=1)
+    ENDIF()
+    IF(MSVC)
+        target_compile_definitions(${GEOTIFF_LIBRARY_TARGET} PRIVATE /DW4)
+        if (NOT (MSVC_VERSION VERSION_LESS 1400))
+            target_compile_definitions(${GEOTIFF_LIBRARY_TARGET} PRIVATE -D_CRT_SECURE_NO_DEPRECATE)
+            target_compile_definitions(${GEOTIFF_LIBRARY_TARGET} PRIVATE -D_CRT_SECURE_NO_WARNINGS)
+            target_compile_definitions(${GEOTIFF_LIBRARY_TARGET} PRIVATE -D_CRT_NONSTDC_NO_WARNING)
+            target_compile_definitions(${GEOTIFF_LIBRARY_TARGET} PRIVATE -D_SCL_SECURE_NO_WARNINGS)
+        endif()
+    ENDIF(MSVC)
+ENDIF()
+
+IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
+    target_compile_options(${GEOTIFF_LIBRARY_TARGET} PRIVATE -Wall -Wno-long-long )
+    IF(GEOTIFF_BUILD_PEDANTIC)
+        target_compile_options(${GEOTIFF_LIBRARY_TARGET} PRIVATE -pedantic)
+    ENDIF()
+ENDIF()
+
 
 set(CONFIG_PUBLIC_DEPENDENCIES "")
 set(CONFIG_PRIVATE_DEPENDENCIES "")
@@ -324,15 +332,22 @@ target_link_libraries(${GEOTIFF_LIBRARY_TARGET} PUBLIC
 
 if(TARGET PROJ::proj)
     set(PROJ_LIBRARIES PROJ::proj)
-    string(APPEND CONFIG_PRIVATE_DEPENDENCIES "  find_dependency(PROJ CONFIG)\n")
+    string(APPEND CONFIG_PRIVATE_DEPENDENCIES "  find_dependency(PROJ)\n")
+endif()
+
+if(TARGET ZLIB::zlib)
+    set(ZLIB_LIBRARIES ZLIB::zlib)
+    string(APPEND CONFIG_PRIVATE_DEPENDENCIES "  find_dependency(ZLIB)\n")
 endif()
+
 target_link_libraries(${GEOTIFF_LIBRARY_TARGET} PRIVATE
-    ${PROJ_LIBRARIES})
+                      ${PROJ_LIBRARIES}
+                      ${TIFF_LIBRARIES}
+                      ${ZLIB_LIBRARIES})
 
-target_include_directories(
-  ${GEOTIFF_LIBRARY_TARGET}
-  PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
-         $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+target_include_directories( ${GEOTIFF_LIBRARY_TARGET} PUBLIC
+            $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>
+            $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
 
 INSTALL( TARGETS ${GEOTIFF_LIBRARY_TARGET}
      EXPORT depends
@@ -341,6 +356,12 @@ INSTALL( TARGETS ${GEOTIFF_LIBRARY_TARGET}
      PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
 
+IF (MSVC)
+IF (BUILD_SHARED_LIBS)
+    INSTALL(FILES $<TARGET_PDB_FILE:${GEOTIFF_LIBRARY_TARGET}> DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
+ENDIF (BUILD_SHARED_LIBS)
+ENDIF (MSVC)
+
 # Install libgeotiff.pc
 set(prefix "${CMAKE_INSTALL_PREFIX}")
 set(exec_prefix "\${prefix}")
@@ -375,3 +396,16 @@ IF(WITH_UTILITIES)
 ENDIF()
 
 ADD_SUBDIRECTORY(cmake)
+
+message(STATUS "
+################################
+Summary of build options:
+   Build shared library:     ${BUILD_SHARED_LIBS}
+   Build man pages:          ${BUILD_MAN}
+   Build doc files:          ${BUILD_DOC}
+   Build GeoTIFF utilities:  ${WITH_UTILITIES}
+   Build TIFF support:       ${WITH_TIFF}
+   Build zlib support:       ${WITH_ZLIB}
+   Build JPEG support:       ${WITH_JPEG}
+   Build TOWGS84 support:    ${WITH_TOWGS84}
+################################")


=====================================
Makefile.am
=====================================
@@ -13,8 +13,7 @@ endif
 
 AM_CFLAGS = -I$(srcdir)/libxtiff $(PROJ_CFLAGS) $(TIFF_CFLAGS)
 
-include_HEADERS =   geotiff.h \
-                    geotiffio.h \
+include_HEADERS =   geotiffio.h \
                     geovalues.h \
                     geonames.h \
                     geokeys.h \
@@ -35,7 +34,8 @@ include_HEADERS =   geotiff.h \
                     geokeys.inc \
                     geokeys_v1_1.inc
 
-nodist_include_HEADERS = geo_config.h
+nodist_include_HEADERS = geotiff.h \
+                         geo_config.h
 
 libgeotiff_la_SOURCES = cpl_serv.c \
                         geo_extra.c \
@@ -63,7 +63,6 @@ pkgconfig_DATA = libgeotiff.pc
 pkgconfigdir = $(libdir)/pkgconfig
 
 EXTRA_DIST =    autogen.sh \
-                makefile.vc \
                 geo_config.h.vc \
                 README \
                 README.WIN \


=====================================
Makefile.in
=====================================
@@ -134,7 +134,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = geo_config.h
-CONFIG_CLEAN_FILES = libgeotiff.pc
+CONFIG_CLEAN_FILES = geotiff.h libgeotiff.pc
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -269,9 +269,10 @@ CTAGS = ctags
 CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/geo_config.h.in \
-	$(srcdir)/libgeotiff.pc.in $(top_srcdir)/m4/doxygen.am AUTHORS \
-	COPYING ChangeLog INSTALL NEWS README compile config.guess \
-	config.sub depcomp install-sh ltmain.sh missing
+	$(srcdir)/geotiff.h.in $(srcdir)/libgeotiff.pc.in \
+	$(top_srcdir)/m4/doxygen.am AUTHORS COPYING ChangeLog INSTALL \
+	NEWS README compile config.guess config.sub depcomp install-sh \
+	ltmain.sh missing
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -374,6 +375,12 @@ JPEG_INC = @JPEG_INC@
 JPEG_PREFIX = @JPEG_PREFIX@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBGEOTIFF_MAJOR_VERSION = @LIBGEOTIFF_MAJOR_VERSION@
+LIBGEOTIFF_MINOR_VERSION = @LIBGEOTIFF_MINOR_VERSION@
+LIBGEOTIFF_PATCH_VERSION = @LIBGEOTIFF_PATCH_VERSION@
+LIBGEOTIFF_REV_VERSION = @LIBGEOTIFF_REV_VERSION@
+LIBGEOTIFF_STRING_VERSION = @LIBGEOTIFF_STRING_VERSION@
+LIBGEOTIFF_VERSION = @LIBGEOTIFF_VERSION@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
@@ -409,7 +416,6 @@ PROJ_CFLAGS = @PROJ_INCLUDE@
 PROJ_INCLUDE = @PROJ_INCLUDE@
 PROJ_LIBS = @PROJ_LIBS@
 RANLIB = @RANLIB@
-RELEASE_VERSION = @RELEASE_VERSION@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -500,8 +506,7 @@ ACLOCAL_AMFLAGS = -I m4
 
 @TIFF_IS_CONFIG_TRUE at TIFF_CFLAGS = @TIFF_INC@ -DHAVE_TIFF=1
 AM_CFLAGS = -I$(srcdir)/libxtiff $(PROJ_CFLAGS) $(TIFF_CFLAGS)
-include_HEADERS = geotiff.h \
-                    geotiffio.h \
+include_HEADERS = geotiffio.h \
                     geovalues.h \
                     geonames.h \
                     geokeys.h \
@@ -522,7 +527,9 @@ include_HEADERS = geotiff.h \
                     geokeys.inc \
                     geokeys_v1_1.inc
 
-nodist_include_HEADERS = geo_config.h
+nodist_include_HEADERS = geotiff.h \
+                         geo_config.h
+
 libgeotiff_la_SOURCES = cpl_serv.c \
                         geo_extra.c \
                         geo_free.c \
@@ -545,7 +552,6 @@ lib_LTLIBRARIES = libgeotiff.la
 pkgconfig_DATA = libgeotiff.pc
 pkgconfigdir = $(libdir)/pkgconfig
 EXTRA_DIST = autogen.sh \
-                makefile.vc \
                 geo_config.h.vc \
                 README \
                 README.WIN \
@@ -615,6 +621,8 @@ $(srcdir)/geo_config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 
 distclean-hdr:
 	-rm -f geo_config.h stamp-h1
+geotiff.h: $(top_builddir)/config.status $(srcdir)/geotiff.h.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
 libgeotiff.pc: $(top_builddir)/config.status $(srcdir)/libgeotiff.pc.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
 


=====================================
NEWS
=====================================
@@ -1,3 +1,34 @@
+libgeotiff 1.7.4
+----------------
+
+* CMake modernization, automate release generation from tags and refactor CI (#115)
+  - CMake: Bumps the minimum CMake version to 3.13
+  - CMake: Add BUILD_SHARED_LIBS matrix for ON and OFF using similar config for macos-latest, windows-latest, and ubuntu-latest
+  - CMake: Modernize CMake configuration to prevent flag/feature leaking
+  - CMake: Adds CPack configuration so `package_source` target is available for dist generation
+  - CMake: Updates FindPROJ.cmake with GDAL's recent version
+  - CMake: add BUILD_MAN and BUILD_DOC options
+  - CMake: Windows PDB install with BUILD_SHARED_LIBS
+  - CMake: Remove FindGeoTIFF.cmake
+  - Removes 16 year old dead `makefile.mpw`
+  - Removes 6 year old dead `makefile.vc`
+  - CI: Generates release artifacts and attaches them to every build
+  - CI: Creates a release and attaches release artifacts for every tag of the OSGeo/libgeotiff repository
+  - CI: [Attests](https://github.com/actions/attest-build-provenance) the release artifacts if the `github.repository_owner == OSGeo`
+  - CI: Remove Appveyor config
+
+* GTIFGetDefn(): add missing normalization of angular units to degree
+
+  Contrary to what the documentation of GTIFDefn::ProjParm[] mentionned,
+  we failed to normalize angular measures to degrees when reading them
+  from projection parameters (ProjXXXXXGeoKey's) when ProjCoordTransGeoKey
+  was present (but we did normalize them when reading them from the PROJ
+  database when there were was only a EPSG PCS code)
+
+  Relates to https://github.com/OSGeo/gdal/issues/10154 and https://github.com/OSGeo/gdal/pull/10158
+
+* Fix build with GCC 15 (#131)
+
 libgeotiff 1.7.3
 ----------------
 


=====================================
bin/CMakeLists.txt
=====================================
@@ -22,13 +22,12 @@ MESSAGE(STATUS "Adding GeoTIFF utilities to build")
 
 FOREACH(utility ${GEOTIFF_UTILITIES})
     ADD_EXECUTABLE(${utility} ${utility}.c ${GETOPT_SOURCE})
-    TARGET_LINK_LIBRARIES(${utility} PRIVATE xtiff ${GEOTIFF_LIBRARY_TARGET})
+    TARGET_LINK_LIBRARIES(${utility} PRIVATE ${GEOTIFF_LIBRARY_TARGET})
 ENDFOREACH()
 
 ADD_EXECUTABLE(geotifcp geotifcp.c ${GETOPT_SOURCE})
 TARGET_LINK_LIBRARIES(geotifcp
     PRIVATE
-    xtiff
     ${GEOTIFF_LIBRARY_TARGET}
     ${JPEG_LIBRARIES}
     ${ZLIB_LIBRARIES})


=====================================
bin/Makefile.in
=====================================
@@ -251,6 +251,12 @@ JPEG_INC = @JPEG_INC@
 JPEG_PREFIX = @JPEG_PREFIX@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBGEOTIFF_MAJOR_VERSION = @LIBGEOTIFF_MAJOR_VERSION@
+LIBGEOTIFF_MINOR_VERSION = @LIBGEOTIFF_MINOR_VERSION@
+LIBGEOTIFF_PATCH_VERSION = @LIBGEOTIFF_PATCH_VERSION@
+LIBGEOTIFF_REV_VERSION = @LIBGEOTIFF_REV_VERSION@
+LIBGEOTIFF_STRING_VERSION = @LIBGEOTIFF_STRING_VERSION@
+LIBGEOTIFF_VERSION = @LIBGEOTIFF_VERSION@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
@@ -286,7 +292,6 @@ PROJ_CFLAGS = @PROJ_CFLAGS@
 PROJ_INCLUDE = @PROJ_INCLUDE@
 PROJ_LIBS = @PROJ_LIBS@
 RANLIB = @RANLIB@
-RELEASE_VERSION = @RELEASE_VERSION@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@


=====================================
bin/geotifcp.c
=====================================
@@ -37,7 +37,7 @@
 #define	TRUE	1
 #define	FALSE	0
 
-int getopt();
+int getopt(int nargc, char** nargv, char* ostr);
 
 static  int outtiled = -1;
 static  uint32_t tilewidth;


=====================================
cmake/CMakeLists.txt
=====================================
@@ -30,3 +30,48 @@ install (FILES
 install (EXPORT depends
   FILE ${PROJECT_NAME_LOWER}-depends.cmake
   DESTINATION "${INSTALL_CMAKE_DIR}")
+
+
+#  ------------------------------------------------------------------------------
+  # CPACK controls
+  #------------------------------------------------------------------------------
+
+
+  SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
+  SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
+  SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
+  SET(CPACK_PACKAGE_NAME "GeoTIFF")
+
+  SET(CPACK_SOURCE_GENERATOR "TBZ2;TGZ;ZIP")
+  SET(CPACK_PACKAGE_VENDOR "GeoTIFF Development Team")
+  SET(CPACK_RESOURCE_FILE_LICENSE    "${PROJECT_SOURCE_DIR}/LICENSE")
+
+  set(CPACK_SOURCE_PACKAGE_FILE_NAME
+      "lib${PROJECT_NAME_LOWER}-${GeoTIFF_VERSION}")
+
+  set(CPACK_SOURCE_IGNORE_FILES
+    "/\\\\.gitattributes"
+    "/\\\\.DS_Store"
+    "/\\\\.git/"
+    "\\\\.swp$"
+    "~$"
+    "\\\\.\\\\#"
+    "/\\\\#"
+    "CMakeScripts/"
+    "COPYING-CMAKE-SCRIPTS"
+    "_CPack_Packages"
+    "cmake_install.cmake"
+    ".gitignore"
+    ".ninja"
+    ".deps"
+    "HOWTORELEASE.txt"
+    "README"
+    "build/"
+    "CMakeFiles"
+    "CTestTestfile.cmake"
+    ".gz"
+    ".bz2"
+  )
+
+  include(CPack)
+  add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)


=====================================
cmake/FindGeoTIFF.cmake deleted
=====================================
@@ -1,71 +0,0 @@
-###############################################################################
-#
-# CMake module to search for GeoTIFF library
-#
-# On success, the macro sets the following variables:
-# GEOTIFF_FOUND       = if the library found
-# GEOTIFF_LIBRARIES   = full path to the library
-# GEOTIFF_INCLUDE_DIR = where to find the library headers 
-# also defined, but not for general use are
-# GEOTIFF_LIBRARY, where to find the PROJ.4 library.
-#
-# Copyright (c) 2009 Mateusz Loskot <mateusz at loskot.net>
-#
-# Module source: http://github.com/mloskot/workshop/tree/master/cmake/
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-###############################################################################
-
-SET(GEOTIFF_NAMES geotiff)
-
-IF(WIN32)
-
-    IF(MINGW)
-        FIND_PATH(GEOTIFF_INCLUDE_DIR
-            geotiff.h
-            PATH_PREFIXES geotiff
-            PATHS
-            /usr/local/include
-            /usr/include
-            c:/msys/local/include)
-
-        FIND_LIBRARY(GEOTIFF_LIBRARY
-            NAMES ${GEOTIFF_NAMES}
-            PATHS
-            /usr/local/lib
-            /usr/lib
-            c:/msys/local/lib)
-    ENDIF(MINGW)
-
-    IF(MSVC)
-        SET(GEOTIFF_INCLUDE_DIR "$ENV{LIB_DIR}/include" CACHE STRING INTERNAL)
-
-        SET(GEOTIFF_NAMES ${GEOTIFF_NAMES} geotiff_i)
-        FIND_LIBRARY(GEOTIFF_LIBRARY NAMES 
-            NAMES ${GEOTIFF_NAMES}
-            PATHS
-            "$ENV{LIB_DIR}/lib"
-            /usr/lib
-            c:/msys/local/lib)
-    ENDIF(MSVC)
-  
-ELSEIF(UNIX)
-
-    FIND_PATH(GEOTIFF_INCLUDE_DIR geotiff.h PATH_PREFIXES geotiff)
-
-    FIND_LIBRARY(GEOTIFF_LIBRARY NAMES ${GEOTIFF_NAMES})
-
-ELSE()
-    MESSAGE("FindGeoTIFF.cmake: unrecognized or unsupported operating system")
-ENDIF()
-
-IF(GEOTIFF_FOUND)
-  SET(GEOTIFF_LIBRARIES ${GEOTIFF_LIBRARY})
-ENDIF()
-
-# Handle the QUIETLY and REQUIRED arguments and set SPATIALINDEX_FOUND to TRUE
-# if all listed variables are TRUE
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GEOTIFF DEFAULT_MSG GEOTIFF_LIBRARY GEOTIFF_INCLUDE_DIR)


=====================================
cmake/FindPROJ.cmake
=====================================
@@ -1,44 +1,91 @@
-###############################################################################
-# CMake module to search for PROJ library
-#
-# On success, the macro sets the following variables:
-# PROJ_FOUND       = if the library found
-# PROJ_LIBRARY     = full path to the library
-# PROJ_INCLUDE_DIR = where to find the library headers 
-# also defined, but not for general use are
-# PROJ_LIBRARY, where to find the PROJ library.
-#
-# Copyright (c) 2009 Mateusz Loskot <mateusz at loskot.net>
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-###############################################################################
-
-# Try to use OSGeo4W installation
-IF(WIN32)
-    SET(PROJ4_OSGEO4W_HOME "C:/OSGeo4W") 
-
-    IF($ENV{OSGEO4W_HOME})
-        SET(PROJ4_OSGEO4W_HOME "$ENV{OSGEO4W_HOME}") 
-    ENDIF()
-ENDIF(WIN32)
-
-FIND_PATH(PROJ_INCLUDE_DIR proj.h proj_experimental.h
-    PATHS ${PROJ_OSGEO4W_HOME}/include
-    DOC "Path to PROJ library include directory")
-
-SET(PROJ_NAMES ${PROJ_NAMES} proj proj_i)
-FIND_LIBRARY(PROJ_LIBRARY
-    NAMES ${PROJ_NAMES}
-    PATHS ${PROJ_OSGEO4W_HOME}/lib
-    DOC "Path to PROJ library file")
-
-# Handle the QUIETLY and REQUIRED arguments and set PROJ_FOUND to TRUE
-# if all listed variables are TRUE
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(PROJ DEFAULT_MSG PROJ_LIBRARY PROJ_INCLUDE_DIR)
-
-IF(PROJ_FOUND)
-  SET(PROJ_LIBRARIES ${PROJ_LIBRARY})
-ENDIF()
+# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+# file COPYING-CMAKE-SCRIPTS or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindPROJ
+---------
+
+CMake module to search for PROJ(PROJ.4 and PROJ) library
+
+On success, the macro sets the following variables:
+``PROJ_FOUND``
+  if the library found
+
+``PROJ_LIBRARIES``
+  full path to the library
+
+``PROJ_INCLUDE_DIRS``
+  where to find the library headers
+
+``PROJ_VERSION_STRING``
+  version string of PROJ
+
+Copyright (c) 2009 Mateusz Loskot <mateusz at loskot.net>
+Copyright (c) 2015 NextGIS <info at nextgis.com>
+Copyright (c) 2018 Hiroshi Miura
+
+#]=======================================================================]
+
+find_path(PROJ_INCLUDE_DIR proj.h
+          PATHS ${PROJ_ROOT}/include
+          DOC "Path to PROJ library include directory")
+
+set(PROJ_NAMES ${PROJ_NAMES} proj proj_i)
+set(PROJ_NAMES_DEBUG ${PROJ_NAMES_DEBUG} projd proj_d)
+
+if(NOT PROJ_LIBRARY)
+  find_library(PROJ_LIBRARY_RELEASE NAMES ${PROJ_NAMES})
+  find_library(PROJ_LIBRARY_DEBUG NAMES ${PROJ_NAMES_DEBUG})
+  include(SelectLibraryConfigurations)
+  select_library_configurations(PROJ)
+  mark_as_advanced(PROJ_LIBRARY_RELEASE PROJ_LIBRARY_DEBUG)
+endif()
+
+unset(PROJ_NAMES)
+unset(PROJ_NAMES_DEBUG)
+
+if(PROJ_INCLUDE_DIR)
+    file(READ "${PROJ_INCLUDE_DIR}/proj.h" PROJ_H_CONTENTS)
+    string(REGEX REPLACE "^.*PROJ_VERSION_MAJOR +([0-9]+).*$" "\\1" PROJ_VERSION_MAJOR "${PROJ_H_CONTENTS}")
+    string(REGEX REPLACE "^.*PROJ_VERSION_MINOR +([0-9]+).*$" "\\1" PROJ_VERSION_MINOR "${PROJ_H_CONTENTS}")
+    string(REGEX REPLACE "^.*PROJ_VERSION_PATCH +([0-9]+).*$" "\\1" PROJ_VERSION_PATCH "${PROJ_H_CONTENTS}")
+    unset(PROJ_H_CONTENTS)
+    set(PROJ_VERSION_STRING "${PROJ_VERSION_MAJOR}.${PROJ_VERSION_MINOR}.${PROJ_VERSION_PATCH}")
+endif ()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(PROJ
+                                  REQUIRED_VARS PROJ_LIBRARY PROJ_INCLUDE_DIR
+                                  VERSION_VAR PROJ_VERSION_STRING)
+mark_as_advanced(PROJ_INCLUDE_DIR PROJ_LIBRARY)
+
+if(PROJ_FOUND)
+  set(PROJ_LIBRARIES "${PROJ_LIBRARY}")
+  set(PROJ_INCLUDE_DIRS "${PROJ_INCLUDE_DIR}")
+  if(NOT TARGET PROJ::proj)
+    add_library(PROJ::proj UNKNOWN IMPORTED)
+    set_target_properties(PROJ::proj PROPERTIES
+                          INTERFACE_INCLUDE_DIRECTORIES "${PROJ_INCLUDE_DIR}"
+                          IMPORTED_LINK_INTERFACE_LANGUAGES "C")
+    if(EXISTS "${PROJ_LIBRARY}")
+      set_target_properties(PROJ::proj PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+        IMPORTED_LOCATION "${PROJ_LIBRARY}")
+    endif()
+    if(EXISTS "${PROJ_LIBRARY_RELEASE}")
+      set_property(TARGET PROJ::proj APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS RELEASE)
+      set_target_properties(PROJ::proj PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
+        IMPORTED_LOCATION_RELEASE "${PROJ_LIBRARY_RELEASE}")
+    endif()
+    if(EXISTS "${PROJ_LIBRARY_DEBUG}")
+      set_property(TARGET PROJ::proj APPEND PROPERTY
+        IMPORTED_CONFIGURATIONS DEBUG)
+      set_target_properties(PROJ::proj PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
+        IMPORTED_LOCATION_DEBUG "${PROJ_LIBRARY_DEBUG}")
+    endif()
+  endif()
+endif()
+


=====================================
cmake/Makefile.am
=====================================
@@ -1,5 +1,4 @@
-EXTRA_DIST  = 	FindGeoTIFF.cmake \
-		FindPROJ.cmake  \
+EXTRA_DIST  = 	FindPROJ.cmake  \
 		geo_config.h.in \
 		project-config-version.cmake.in \
 		project-config.cmake.in \


=====================================
cmake/Makefile.in
=====================================
@@ -182,6 +182,12 @@ JPEG_INC = @JPEG_INC@
 JPEG_PREFIX = @JPEG_PREFIX@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBGEOTIFF_MAJOR_VERSION = @LIBGEOTIFF_MAJOR_VERSION@
+LIBGEOTIFF_MINOR_VERSION = @LIBGEOTIFF_MINOR_VERSION@
+LIBGEOTIFF_PATCH_VERSION = @LIBGEOTIFF_PATCH_VERSION@
+LIBGEOTIFF_REV_VERSION = @LIBGEOTIFF_REV_VERSION@
+LIBGEOTIFF_STRING_VERSION = @LIBGEOTIFF_STRING_VERSION@
+LIBGEOTIFF_VERSION = @LIBGEOTIFF_VERSION@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
@@ -217,7 +223,6 @@ PROJ_CFLAGS = @PROJ_CFLAGS@
 PROJ_INCLUDE = @PROJ_INCLUDE@
 PROJ_LIBS = @PROJ_LIBS@
 RANLIB = @RANLIB@
-RELEASE_VERSION = @RELEASE_VERSION@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -280,8 +285,7 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-EXTRA_DIST = FindGeoTIFF.cmake \
-		FindPROJ.cmake  \
+EXTRA_DIST = FindPROJ.cmake  \
 		geo_config.h.in \
 		project-config-version.cmake.in \
 		project-config.cmake.in \


=====================================
configure
=====================================
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libgeotiff 1.7.3.
+# Generated by GNU Autoconf 2.69 for libgeotiff 1.7.4.
 #
 # Report bugs to <warmerdam at pobox.com>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='libgeotiff'
 PACKAGE_TARNAME='libgeotiff'
-PACKAGE_VERSION='1.7.3'
-PACKAGE_STRING='libgeotiff 1.7.3'
+PACKAGE_VERSION='1.7.4'
+PACKAGE_STRING='libgeotiff 1.7.4'
 PACKAGE_BUGREPORT='warmerdam at pobox.com'
 PACKAGE_URL=''
 
@@ -776,7 +776,12 @@ am__isrc
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
-RELEASE_VERSION
+LIBGEOTIFF_VERSION
+LIBGEOTIFF_STRING_VERSION
+LIBGEOTIFF_REV_VERSION
+LIBGEOTIFF_PATCH_VERSION
+LIBGEOTIFF_MINOR_VERSION
+LIBGEOTIFF_MAJOR_VERSION
 build_os
 build_vendor
 build_cpu
@@ -1422,7 +1427,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libgeotiff 1.7.3 to adapt to many kinds of systems.
+\`configure' configures libgeotiff 1.7.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1493,7 +1498,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libgeotiff 1.7.3:";;
+     short | recursive ) echo "Configuration of libgeotiff 1.7.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1639,7 +1644,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libgeotiff configure 1.7.3
+libgeotiff configure 1.7.4
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2008,7 +2013,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libgeotiff $as_me 1.7.3, which was
+It was created by libgeotiff $as_me 1.7.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2426,10 +2431,25 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
 
-RELEASE_VERSION=1.7.3
+LIBGEOTIFF_MAJOR_VERSION=1
+LIBGEOTIFF_MINOR_VERSION=7
+LIBGEOTIFF_PATCH_VERSION=4
+LIBGEOTIFF_REV_VERSION=0
+
+LIBGEOTIFF_STRING_VERSION=${LIBGEOTIFF_MAJOR_VERSION}.${LIBGEOTIFF_MINOR_VERSION}.${LIBGEOTIFF_PATCH_VERSION}
+LIBGEOTIFF_VERSION="${LIBGEOTIFF_MAJOR_VERSION}${LIBGEOTIFF_MINOR_VERSION}${LIBGEOTIFF_PATCH_VERSION}${LIBGEOTIFF_REV_VERSION}"
+
+
+
+
+
+
+
 
 ac_config_headers="$ac_config_headers geo_config.h"
 
+ac_config_files="$ac_config_files geotiff.h"
+
 
 
 am__api_version='1.16'
@@ -2918,7 +2938,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='libgeotiff'
- VERSION='1.7.3'
+ VERSION='1.7.4'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -16184,7 +16204,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libgeotiff $as_me 1.7.3, which was
+This file was extended by libgeotiff $as_me 1.7.4, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16250,7 +16270,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-libgeotiff config.status 1.7.3
+libgeotiff config.status 1.7.4
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -16663,6 +16683,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "geo_config.h") CONFIG_HEADERS="$CONFIG_HEADERS geo_config.h" ;;
+    "geotiff.h") CONFIG_FILES="$CONFIG_FILES geotiff.h" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;


=====================================
configure.ac
=====================================
@@ -1,22 +1,29 @@
 
-
-m4_define([VERSION_MAJOR], [1])
-m4_define([VERSION_MINOR], [7])
-m4_define([VERSION_POINT], [3])
-m4_define([GEOTIFF_VERSION],
-          [VERSION_MAJOR.VERSION_MINOR.VERSION_POINT])
-
 m4_include([m4/ax_prog_doxygen.m4])
 
 AC_PREREQ([2.59])
-AC_INIT([libgeotiff], [GEOTIFF_VERSION], [warmerdam at pobox.com])
+AC_INIT([libgeotiff], [1.7.4], [warmerdam at pobox.com])
 AC_CANONICAL_BUILD
 
 AC_CONFIG_MACRO_DIR([m4])
 
-RELEASE_VERSION=GEOTIFF_VERSION
-AC_SUBST([RELEASE_VERSION])
-AC_CONFIG_HEADER(geo_config.h)
+LIBGEOTIFF_MAJOR_VERSION=1
+LIBGEOTIFF_MINOR_VERSION=7
+LIBGEOTIFF_PATCH_VERSION=4
+LIBGEOTIFF_REV_VERSION=0
+
+LIBGEOTIFF_STRING_VERSION=${LIBGEOTIFF_MAJOR_VERSION}.${LIBGEOTIFF_MINOR_VERSION}.${LIBGEOTIFF_PATCH_VERSION}
+LIBGEOTIFF_VERSION="${LIBGEOTIFF_MAJOR_VERSION}${LIBGEOTIFF_MINOR_VERSION}${LIBGEOTIFF_PATCH_VERSION}${LIBGEOTIFF_REV_VERSION}"
+
+AC_SUBST(LIBGEOTIFF_MAJOR_VERSION)
+AC_SUBST(LIBGEOTIFF_MINOR_VERSION)
+AC_SUBST(LIBGEOTIFF_PATCH_VERSION)
+AC_SUBST(LIBGEOTIFF_REV_VERSION)
+AC_SUBST(LIBGEOTIFF_STRING_VERSION)
+AC_SUBST(LIBGEOTIFF_VERSION)
+
+AC_CONFIG_HEADERS([geo_config.h])
+AC_CONFIG_FILES([geotiff.h])
 
 dnl #########################################################################
 dnl Checks for programs.


=====================================
geo_normalize.c
=====================================
@@ -2241,15 +2241,16 @@ static void GTIFFetchProjParms( GTIF * psGTIF, GTIFDefn * psDefn )
         break;
     }
 
+    for( int iParam = 0; iParam < psDefn->nParms; iParam++ )
+    {
+        switch( psDefn->ProjParmId[iParam] )
+        {
+
 /* -------------------------------------------------------------------- */
 /*      Normalize any linear parameters into meters.  In GeoTIFF        */
 /*      the linear projection parameter tags are normally in the        */
 /*      units of the coordinate system described.                       */
 /* -------------------------------------------------------------------- */
-    for( int iParam = 0; iParam < psDefn->nParms; iParam++ )
-    {
-        switch( psDefn->ProjParmId[iParam] )
-        {
           case ProjFalseEastingGeoKey:
           case ProjFalseNorthingGeoKey:
           case ProjFalseOriginEastingGeoKey:
@@ -2263,6 +2264,30 @@ static void GTIFFetchProjParms( GTIF * psGTIF, GTIFDefn * psDefn )
             }
             break;
 
+/* -------------------------------------------------------------------- */
+/*      Normalize any angular parameters into degrees.  In GeoTIFF      */
+/*      the angular projection parameter tags are normally in the       */
+/*      units of GeogAngularUnit. Note: this conversion is only done    */
+/*      since libgeotiff 1.7.4                                          */
+/* -------------------------------------------------------------------- */
+
+          case ProjStdParallel1GeoKey:
+          case ProjStdParallel2GeoKey:
+          case ProjNatOriginLongGeoKey:
+          case ProjNatOriginLatGeoKey:
+          case ProjFalseOriginLongGeoKey:
+          case ProjFalseOriginLatGeoKey:
+          case ProjCenterLongGeoKey:
+          case ProjCenterLatGeoKey:
+          case ProjStraightVertPoleLongGeoKey:
+          case ProjRectifiedGridAngleGeoKey:
+            if( psDefn->UOMAngleInDegrees != 0
+                && psDefn->UOMAngleInDegrees != 1.0 )
+            {
+                psDefn->ProjParm[iParam] *= psDefn->UOMAngleInDegrees;
+            }
+            break;
+
           default:
             break;
         }


=====================================
geo_normalize.h
=====================================
@@ -121,9 +121,15 @@ typedef struct {
     int		nParms;
 
     /** Projection parameter value.  The identify of this parameter
-        is established from the corresponding entry in ProjParmId.  The
-        value will be measured in meters, or decimal degrees if it is a
-        linear or angular measure. */
+        is established from the corresponding entry in ProjParmId.
+        In GeoTIFF keys, the values of the projection parameters are expressed
+        in the units of ProjLinearUnitsGeoKey (for linear measures) or
+        GeogAngularUnitsGeoKey (for angular measures).
+        However, the value returned in ProjParam[] will be normalized to meters
+        or decimal degrees.
+        Note: until libgeotiff 1.7.3, the conversion to degrees for angular
+        measures was *not* done when ProjCoordTransGeoKey is present.
+     */
     double	ProjParm[MAX_GTIF_PROJPARMS];
 
     /** Projection parameter identifier.  For example ProjFalseEastingGeoKey.


=====================================
geotiff.h → geotiff.h.in
=====================================
@@ -47,7 +47,13 @@
 #define GEOTIFF_SPEC_1_1_MINOR_REVISION 1
 
 /* Library version */
-#define LIBGEOTIFF_VERSION 1730
+/* LIBGEOTIFF_MAJOR_VERSION, LIBGEOTIFF_MINOR_VERSION, LIBGEOTIFF_PATCH_VERSION, LIBGEOTIFF_REV_VERSION and LIBGEOTIFF_STRING_VERSION are new since libgeotiff 1.7.4. Only LIBGEOTIFF_VERSION pre-existed */
+#define LIBGEOTIFF_MAJOR_VERSION @LIBGEOTIFF_MAJOR_VERSION@
+#define LIBGEOTIFF_MINOR_VERSION @LIBGEOTIFF_MINOR_VERSION@
+#define LIBGEOTIFF_PATCH_VERSION @LIBGEOTIFF_PATCH_VERSION@
+#define LIBGEOTIFF_REV_VERSION @LIBGEOTIFF_REV_VERSION@
+#define LIBGEOTIFF_VERSION @LIBGEOTIFF_VERSION@
+#define LIBGEOTIFF_STRING_VERSION "@LIBGEOTIFF_STRING_VERSION@"
 
 #include "geo_config.h"
 #include "geokeys.h"


=====================================
geotiff_proj4.c
=====================================
@@ -1,5 +1,4 @@
 /******************************************************************************
- * $Id$
  *
  * Project:  libgeotiff
  * Purpose:  Code to convert a normalized GeoTIFF definition into a PROJ.4
@@ -9,23 +8,7 @@
  ******************************************************************************
  * Copyright (c) 1999, Frank Warmerdam
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * SPDX-License-Identifier: MIT
  ******************************************************************************
  */
 
@@ -238,7 +221,7 @@ int GTIFSetFromProj4( GTIF *gtif, const char *proj4 )
         dfSemiMajor = OSR_GDV(papszNV,"a",0.0);
         dfSemiMinor = OSR_GDV(papszNV,"b",0.0);
         dfInvFlattening = OSR_GDV(papszNV,"rf",0.0);
-        if( dfSemiMinor != 0.0 && dfInvFlattening == 0.0 )
+        if( dfSemiMajor != 0.0 && dfSemiMinor != 0.0 && dfInvFlattening == 0.0 )
             dfInvFlattening = -1.0 / (dfSemiMinor/dfSemiMajor - 1.0);
     }
 


=====================================
libxtiff/Makefile.in
=====================================
@@ -263,6 +263,12 @@ JPEG_INC = @JPEG_INC@
 JPEG_PREFIX = @JPEG_PREFIX@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBGEOTIFF_MAJOR_VERSION = @LIBGEOTIFF_MAJOR_VERSION@
+LIBGEOTIFF_MINOR_VERSION = @LIBGEOTIFF_MINOR_VERSION@
+LIBGEOTIFF_PATCH_VERSION = @LIBGEOTIFF_PATCH_VERSION@
+LIBGEOTIFF_REV_VERSION = @LIBGEOTIFF_REV_VERSION@
+LIBGEOTIFF_STRING_VERSION = @LIBGEOTIFF_STRING_VERSION@
+LIBGEOTIFF_VERSION = @LIBGEOTIFF_VERSION@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
@@ -298,7 +304,6 @@ PROJ_CFLAGS = @PROJ_CFLAGS@
 PROJ_INCLUDE = @PROJ_INCLUDE@
 PROJ_LIBS = @PROJ_LIBS@
 RANLIB = @RANLIB@
-RELEASE_VERSION = @RELEASE_VERSION@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@


=====================================
makefile.vc deleted
=====================================
@@ -1,140 +0,0 @@
-#
-# Typically the only thing that needs to be changed are the paths to the
-# TIFF tree.  Note that we expect an existing build tree, in part because we
-# need private include files from libtiff, but also we need access to getopt.h.
-# in the ports directory.
-#
-# You may want to add optimization options to the CFLAGS macro as well. 
-#
-
-OSGEO4W = c:\OSGeo4W
-
-TIFF_INC = -I$(OSGEO4W)\include
-TIFF_LIB_DLL = $(OSGEO4W)\lib\libtiff_i.lib
-
-# Installation locations (with install, or devinstall targets)
-PREFIX =	release	
-BINDIR =	$(PREFIX)\bin
-LIBDIR =	$(PREFIX)\lib
-INCDIR =	$(PREFIX)\include
-
-#
-CC      = cl
-INCL	= -I. -Ilibxtiff $(TIFF_INC)
-
-
-# Pick the first LIBS definition for a static libtiff.lib or the second
-# to link against the libtiff DLL.
-
-#LIBS    = geotiff.lib $(TIFF_LIB)
-LIBS    = geotiff_i.lib $(TIFF_LIB_DLL)
-
-DLLNAME = geotiff.dll
-
-# Set optimization or debug flags here.
-CFLAGS  = $(INCL) /MD /Ox /nologo
-#CFLAGS  = $(INCL) /MD /Zi /nologo
-
-#
-OBJS    = \
-	xtiff.obj \
-	geo_free.obj \
-	geo_get.obj \
-	geo_names.obj \
-	geo_new.obj \
-	geo_print.obj \
-	geo_set.obj \
-	geo_tiffp.obj \
-	geo_write.obj \
-	geo_extra.obj \
-	geo_trans.obj \
-	geo_normalize.obj \
-	geotiff_proj4.obj \
-	geo_simpletags.obj \
-	cpl_serv.obj
-
-all:    geo_config.h geotiff.lib $(DLLNAME) listgeo.exe geotifcp.exe
-
-listgeo.exe:	bin\listgeo.c geotiff.lib
-	$(CC) $(CFLAGS) bin\listgeo.c $(LIBS)
-	
-geotifcp.exe:	bin\geotifcp.c geotiff.lib
-	$(CC) $(CFLAGS) bin\geotifcp.c bin\getopt.c $(LIBS)
-	
-gt_update.exe:	bin\gt_update.c geotiff.lib
-	$(CC) $(CFLAGS) bin\gt_update.c bin\getopt.c geotiff.lib $(LIBS)
-	
-geotiff.lib:	$(OBJS)
-	lib /out:geotiff.lib $(OBJS)
-
-#
-$(DLLNAME):    $(OBJS)
-	link /dll /out:$(DLLNAME) /implib:geotiff_i.lib $(OBJS) $(TIFF_LIB_DLL)
-	if exist $(DLLNAME).manifest mt -manifest $(DLLNAME).manifest -outputresource:$(DLLNAME);2
-
-geo_config.h:	geo_config.h.vc
-	copy geo_config.h.vc geo_config.h
-
-xtiff.obj: libxtiff\xtiff.c
-	$(CC) -c $(CFLAGS) libxtiff\xtiff.c
-
-geo_free.obj: geo_free.c
-	$(CC) -c $(CFLAGS) geo_free.c
-
-geo_get.obj: geo_get.c
-	$(CC) -c $(CFLAGS) geo_get.c
-
-geo_names.obj: geo_names.c
-	$(CC) -c $(CFLAGS) geo_names.c
-
-geo_new.obj: geo_new.c
-	$(CC) -c $(CFLAGS) geo_new.c
-
-geo_print.obj: geo_print.c
-	$(CC) -c $(CFLAGS) geo_print.c
-
-geo_set.obj: geo_set.c
-	$(CC) -c $(CFLAGS) geo_set.c
-
-geo_tiffp.obj: geo_tiffp.c
-	$(CC) -c $(CFLAGS) geo_tiffp.c
-
-geo_write.obj: geo_write.c
-	$(CC) -c $(CFLAGS) geo_write.c
-
-geo_trans.obj: geo_trans.c
-	$(CC) -c $(CFLAGS) geo_trans.c
-
-geo_extra.obj: geo_extra.c
-	$(CC) -c $(CFLAGS) geo_extra.c
-
-geo_normalize.obj: geo_normalize.c
-	$(CC) -c $(CFLAGS) geo_normalize.c
-
-geotiff_proj4.obj: geotiff_proj4.c
-	$(CC) -c $(CFLAGS) geotiff_proj4.c
-
-cpl_serv.obj: cpl_serv.c
-	$(CC) -c $(CFLAGS) cpl_serv.c
-
-clean:
-	-del *.obj
-	-del *.exe
-	-del *.lib
-	-del *.dll
-	-del *.manifest
-
-install:	all
-	-mkdir $(PREFIX)
-	-mkdir $(BINDIR)
-	copy *.dll $(BINDIR)
-	copy *.exe $(BINDIR)
-
-devinstall:	install
-	-mkdir $(INCDIR)
-	-mkdir $(LIBDIR)
-	copy *.lib $(LIBDIR)
-	copy *.h $(INCDIR)
-	copy libxtiff\*.h $(INCDIR)
-	copy *.inc $(INCDIR)
-	


=====================================
man/Makefile.in
=====================================
@@ -242,6 +242,12 @@ JPEG_INC = @JPEG_INC@
 JPEG_PREFIX = @JPEG_PREFIX@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBGEOTIFF_MAJOR_VERSION = @LIBGEOTIFF_MAJOR_VERSION@
+LIBGEOTIFF_MINOR_VERSION = @LIBGEOTIFF_MINOR_VERSION@
+LIBGEOTIFF_PATCH_VERSION = @LIBGEOTIFF_PATCH_VERSION@
+LIBGEOTIFF_REV_VERSION = @LIBGEOTIFF_REV_VERSION@
+LIBGEOTIFF_STRING_VERSION = @LIBGEOTIFF_STRING_VERSION@
+LIBGEOTIFF_VERSION = @LIBGEOTIFF_VERSION@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
@@ -277,7 +283,6 @@ PROJ_CFLAGS = @PROJ_CFLAGS@
 PROJ_INCLUDE = @PROJ_INCLUDE@
 PROJ_LIBS = @PROJ_LIBS@
 RANLIB = @RANLIB@
-RELEASE_VERSION = @RELEASE_VERSION@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@


=====================================
man/man1/Makefile.in
=====================================
@@ -213,6 +213,12 @@ JPEG_INC = @JPEG_INC@
 JPEG_PREFIX = @JPEG_PREFIX@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBGEOTIFF_MAJOR_VERSION = @LIBGEOTIFF_MAJOR_VERSION@
+LIBGEOTIFF_MINOR_VERSION = @LIBGEOTIFF_MINOR_VERSION@
+LIBGEOTIFF_PATCH_VERSION = @LIBGEOTIFF_PATCH_VERSION@
+LIBGEOTIFF_REV_VERSION = @LIBGEOTIFF_REV_VERSION@
+LIBGEOTIFF_STRING_VERSION = @LIBGEOTIFF_STRING_VERSION@
+LIBGEOTIFF_VERSION = @LIBGEOTIFF_VERSION@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
@@ -248,7 +254,6 @@ PROJ_CFLAGS = @PROJ_CFLAGS@
 PROJ_INCLUDE = @PROJ_INCLUDE@
 PROJ_LIBS = @PROJ_LIBS@
 RANLIB = @RANLIB@
-RELEASE_VERSION = @RELEASE_VERSION@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@


=====================================
test/Makefile.am
=====================================
@@ -55,7 +55,9 @@ EXTRA_DIST = testlistgeo testlistgeo_out.dist \
              data/lambert_cylindrical_equal_area.tif \
              data/ProjectedCSTypeGeoKey_4087_equidistant_cylindrical.tif \
              data/equidistant_cylindrical.tif \
-             data/pixel_is_point_wgs84.tif
+             data/pixel_is_point_wgs84.tif \
+             data/epsg_27563_only_pcs_code.tif \
+             data/epsg_27563_allgeokeys.tif
 
 check-local:
 	$(TESTLISTGEO) $(LISTGEOEXE)


=====================================
test/Makefile.in
=====================================
@@ -182,6 +182,12 @@ JPEG_INC = @JPEG_INC@
 JPEG_PREFIX = @JPEG_PREFIX@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBGEOTIFF_MAJOR_VERSION = @LIBGEOTIFF_MAJOR_VERSION@
+LIBGEOTIFF_MINOR_VERSION = @LIBGEOTIFF_MINOR_VERSION@
+LIBGEOTIFF_PATCH_VERSION = @LIBGEOTIFF_PATCH_VERSION@
+LIBGEOTIFF_REV_VERSION = @LIBGEOTIFF_REV_VERSION@
+LIBGEOTIFF_STRING_VERSION = @LIBGEOTIFF_STRING_VERSION@
+LIBGEOTIFF_VERSION = @LIBGEOTIFF_VERSION@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTIFF_CFLAGS = @LIBTIFF_CFLAGS@
@@ -217,7 +223,6 @@ PROJ_CFLAGS = @PROJ_CFLAGS@
 PROJ_INCLUDE = @PROJ_INCLUDE@
 PROJ_LIBS = @PROJ_LIBS@
 RANLIB = @RANLIB@
-RELEASE_VERSION = @RELEASE_VERSION@
 SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -337,7 +342,9 @@ EXTRA_DIST = testlistgeo testlistgeo_out.dist \
              data/lambert_cylindrical_equal_area.tif \
              data/ProjectedCSTypeGeoKey_4087_equidistant_cylindrical.tif \
              data/equidistant_cylindrical.tif \
-             data/pixel_is_point_wgs84.tif
+             data/pixel_is_point_wgs84.tif \
+             data/epsg_27563_only_pcs_code.tif \
+             data/epsg_27563_allgeokeys.tif
 
 all: all-am
 


=====================================
test/data/epsg_27563_allgeokeys.tif
=====================================
Binary files /dev/null and b/test/data/epsg_27563_allgeokeys.tif differ


=====================================
test/data/epsg_27563_only_pcs_code.tif
=====================================
Binary files /dev/null and b/test/data/epsg_27563_only_pcs_code.tif differ


=====================================
test/testlistgeo
=====================================
@@ -244,6 +244,14 @@ mv testlistgeo_out.dist.normalized.tmp testlistgeo_out.dist.normalized
 sed "s/ProjCenterLongGeoKey: 46.437229 ( 46d26'14.02\"E)/ProjCenterLongGeoKey: 46.437229 ( 46d26'14.03\"E)/" < testlistgeo_out.dist.normalized > testlistgeo_out.dist.normalized.tmp
 mv testlistgeo_out.dist.normalized.tmp testlistgeo_out.dist.normalized
 
+echo "Testing listgeo epsg_27563_only_pcs_code.tif" >> ${OUT}
+$EXE ${DATA_DIR}/epsg_27563_only_pcs_code.tif >>${OUT}
+echo "" >>${OUT}
+
+echo "Testing listgeo epsg_27563_allgeokeys.tif" >> ${OUT}
+$EXE ${DATA_DIR}/epsg_27563_allgeokeys.tif >>${OUT}
+echo "" >>${OUT}
+
 # do 'diff' with distribution results
 # after cleaning for avoid spurios result due 
 # to different build dir


=====================================
test/testlistgeo_out.dist
=====================================
@@ -2005,3 +2005,111 @@ Upper Right   (  2d 0' 0.00"E, 54d 0' 0.00"N)
 Lower Right   (  2d 0' 0.00"E, 50d 0' 0.00"N)
 Center        (  0d 0' 0.00"E, 52d 0' 0.00"N)
 
+Testing listgeo epsg_27563_only_pcs_code.tif
+Geotiff_Information:
+   Version: 1
+   Key_Revision: 1.0
+   Tagged_Information:
+      ModelTiepointTag (2,3):
+         0                 0                 0                
+         827294.141443773  523985.644431661  0                
+      ModelPixelScaleTag (1,3):
+         0.500636999995913 0.500637000001734 0                
+      End_Of_Tags.
+   Keyed_Information:
+      GTModelTypeGeoKey (Short,1): ModelTypeProjected
+      GTRasterTypeGeoKey (Short,1): RasterPixelIsArea
+      GTCitationGeoKey (Ascii,33): "NTF (Paris) / Lambert Sud France"
+      GeogCitationGeoKey (Ascii,12): "NTF (Paris)"
+      GeogAngularUnitsGeoKey (Short,1): Angular_Grad
+      ProjectedCSTypeGeoKey (Short,1): Code-27563 (NTF (Paris) / Lambert Sud France)
+      ProjLinearUnitsGeoKey (Short,1): Linear_Meter
+      End_Of_Keys.
+   End_Of_Geotiff.
+
+PCS = 27563 (NTF (Paris) / Lambert Sud France)
+Projection = 18093 (Lambert Sud France)
+Projection Method: CT_LambertConfConic_1SP
+   ProjNatOriginLatGeoKey: 44.100000 ( 44d 6' 0.00"N)
+   ProjNatOriginLongGeoKey: 0.000000 (  0d 0' 0.00"E)
+   ProjScaleAtNatOriginGeoKey: 0.999877
+   ProjFalseEastingGeoKey: 600000.000000 m
+   ProjFalseNorthingGeoKey: 200000.000000 m
+GCS: 4807/NTF (Paris)
+Datum: 6807/Nouvelle Triangulation Francaise (Paris)
+Ellipsoid: 7011/Clarke 1880 (IGN) (6378249.20,6356515.00)
+Prime Meridian: 8903/Paris (2.337229/  2d20'14.03"E)
+Projection Linear Units: 9001/metre (1.000000m)
+
+Corner Coordinates:
+Upper Left    (  827294.141,  523985.644)  (  2d59' 3.48"E, 46d58'37.71"N)
+Lower Left    (  827294.141,  523980.638)  (  2d59' 3.47"E, 46d58'37.54"N)
+Upper Right   (  827299.148,  523985.644)  (  2d59' 3.71"E, 46d58'37.70"N)
+Lower Right   (  827299.148,  523980.638)  (  2d59' 3.71"E, 46d58'37.54"N)
+Center        (  827296.645,  523983.141)  (  2d59' 3.59"E, 46d58'37.62"N)
+
+Testing listgeo epsg_27563_allgeokeys.tif
+Geotiff_Information:
+   Version: 1
+   Key_Revision: 1.0
+   Tagged_Information:
+      ModelTiepointTag (2,3):
+         0                 0                 0                
+         827294.141443773  523985.644431661  0                
+      ModelPixelScaleTag (1,3):
+         0.500636999995913 0.500637000001734 0                
+      End_Of_Tags.
+   Keyed_Information:
+      GTModelTypeGeoKey (Short,1): ModelTypeProjected
+      GTRasterTypeGeoKey (Short,1): RasterPixelIsArea
+      GTCitationGeoKey (Ascii,33): "NTF (Paris) / Lambert Sud France"
+      GeographicTypeGeoKey (Short,1): GCS_NTF_Paris
+      GeogCitationGeoKey (Ascii,12): "NTF (Paris)"
+      GeogGeodeticDatumGeoKey (Short,1): Code-6807 (Nouvelle Triangulation Francaise (Paris))
+      GeogPrimeMeridianGeoKey (Short,1): PM_Paris
+      GeogAngularUnitsGeoKey (Short,1): Angular_Grad
+      GeogAngularUnitSizeGeoKey (Double,1): 0.0157079632679489
+      GeogEllipsoidGeoKey (Short,1): Ellipse_Clarke_1880_IGN
+      GeogSemiMajorAxisGeoKey (Double,1): 6378249.2        
+      GeogInvFlatteningGeoKey (Double,1): 293.466021293627 
+      GeogPrimeMeridianLongGeoKey (Double,1): 2.5969213        
+      GeogTOWGS84GeoKey (Double,7): -168             -60              320              
+0                0                0                
+0                
+      ProjectedCSTypeGeoKey (Short,1): Code-27563 (NTF (Paris) / Lambert Sud France)
+      PCSCitationGeoKey (Ascii,33): "NTF (Paris) / Lambert Sud France"
+      ProjectionGeoKey (Short,1): Code-18093 (Lambert Sud France)
+      ProjCoordTransGeoKey (Short,1): CT_LambertConfConic_1SP
+      ProjLinearUnitsGeoKey (Short,1): Linear_Meter
+      ProjLinearUnitSizeGeoKey (Double,1): 1                
+      ProjNatOriginLongGeoKey (Double,1): 0                
+      ProjNatOriginLatGeoKey (Double,1): 49               
+      ProjFalseEastingGeoKey (Double,1): 600000           
+      ProjFalseNorthingGeoKey (Double,1): 200000           
+      ProjScaleAtNatOriginGeoKey (Double,1): 0.999877499      
+      VerticalUnitsGeoKey (Short,1): Linear_Meter
+      End_Of_Keys.
+   End_Of_Geotiff.
+
+PCS = 27563 (NTF (Paris) / Lambert Sud France)
+Projection = 18093 (Lambert Sud France)
+Projection Method: CT_LambertConfConic_1SP
+   ProjNatOriginLatGeoKey: 44.100000 ( 44d 6' 0.00"N)
+   ProjNatOriginLongGeoKey: 0.000000 (  0d 0' 0.00"E)
+   ProjScaleAtNatOriginGeoKey: 0.999877
+   ProjFalseEastingGeoKey: 600000.000000 m
+   ProjFalseNorthingGeoKey: 200000.000000 m
+GCS: 4807/NTF (Paris)
+Datum: 6807/Nouvelle Triangulation Francaise (Paris)
+Ellipsoid: 7011/Clarke 1880 (IGN) (6378249.20,6356515.00)
+Prime Meridian: 8903/Paris (2.337229/  2d20'14.03"E)
+TOWGS84: -168,-60,320,0,0,0,0
+Projection Linear Units: 9001/metre (1.000000m)
+
+Corner Coordinates:
+Upper Left    (  827294.141,  523985.644)  (  2d59' 3.48"E, 46d58'37.71"N)
+Lower Left    (  827294.141,  523980.638)  (  2d59' 3.47"E, 46d58'37.54"N)
+Upper Right   (  827299.148,  523985.644)  (  2d59' 3.71"E, 46d58'37.70"N)
+Lower Right   (  827299.148,  523980.638)  (  2d59' 3.71"E, 46d58'37.54"N)
+Center        (  827296.645,  523983.141)  (  2d59' 3.59"E, 46d58'37.62"N)
+



View it on GitLab: https://salsa.debian.org/debian-gis-team/libgeotiff/-/commit/22c18dc9bab38527cf53887f4de2e68a56e047c2

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/libgeotiff/-/commit/22c18dc9bab38527cf53887f4de2e68a56e047c2
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20250218/68693d17/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list