summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.appveyor.yml4
-rw-r--r--CMakeLists.txt213
-rw-r--r--tools/tiff2ps.c4
3 files changed, 108 insertions, 113 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index 828b6f78..4b5e53f3 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -24,10 +24,12 @@ environment:
shared: OFF
- compiler: vc14-cmake
configuration: Release
+ arch: x64
generator: Visual Studio 16 2019
shared: ON
- compiler: vc14-cmake
configuration: Debug
+ arch: Win32
generator: Visual Studio 16 2019
shared: OFF
- compiler: vc14-nmake
@@ -74,7 +76,7 @@ before_build:
- if NOT %compiler%==vc14-nmake echo Running cmake -G "%generator%" -DCMAKE_INSTALL_PREFIX=%AV_TIFF_CMAKE_INSTALL% -DCMAKE_BUILD_TYPE=%configuration% %AV_TIFF_CMAKE_SOURCE%
- 'if %compiler%==cygwin-cmake bash -c "cmake -G \"%generator%\" -DCMAKE_INSTALL_PREFIX:PATH=%AV_TIFF_CMAKE_INSTALL% -DCMAKE_BUILD_TYPE=%configuration% %AV_CMAKE_ARGS% %AV_TIFF_CMAKE_SOURCE%"'
- 'if %compiler%==mingw-cmake cmake -G "%generator%" -DCMAKE_INSTALL_PREFIX:PATH=%AV_TIFF_CMAKE_INSTALL% -DCMAKE_BUILD_TYPE=%configuration% %AV_CMAKE_ARGS% %AV_TIFF_CMAKE_SOURCE%'
- - 'if %compiler%==vc14-cmake cmake -G "%generator%" -A x64 -DCMAKE_INSTALL_PREFIX:PATH=%AV_TIFF_CMAKE_INSTALL% -DCMAKE_BUILD_TYPE=%configuration% %AV_CMAKE_ARGS% %AV_TIFF_CMAKE_SOURCE%'
+ - 'if %compiler%==vc14-cmake cmake -G "%generator%" -A %arch% -DCMAKE_INSTALL_PREFIX:PATH=%AV_TIFF_CMAKE_INSTALL% -DCMAKE_BUILD_TYPE=%configuration% %AV_CMAKE_ARGS% %AV_TIFF_CMAKE_SOURCE%'
build_script:
- if NOT %compiler%==vc14-nmake cd %AV_TIFF_BUILD%
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3ab49949..01f2571b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -178,7 +178,7 @@ foreach(flag ${test_flags})
endforeach(flag ${test_flags})
if(MSVC)
- set(CMAKE_DEBUG_POSTFIX "d")
+ set(CMAKE_DEBUG_POSTFIX "d")
endif()
option(ld-version-script "Enable linker version script" ON)
@@ -336,91 +336,72 @@ option(mdi "support for Microsoft Document Imaging" ON)
set(MDI_SUPPORT ${mdi})
# ZLIB
-option(zlib "use zlib (required for Deflate compression)" ON)
-if (zlib)
- find_package(ZLIB)
-endif()
-set(ZLIB_SUPPORT 0)
-if(ZLIB_FOUND)
- set(ZLIB_SUPPORT 1)
+set(ZLIB_SUPPORT FALSE)
+find_package(ZLIB)
+option(zlib "use zlib (required for Deflate compression)" ${ZLIB_FOUND})
+if(zlib AND ZLIB_FOUND)
+ set(ZLIB_SUPPORT TRUE)
endif()
set(ZIP_SUPPORT ${ZLIB_SUPPORT})
-
# libdeflate
-option(libdeflate "use libdeflate (optional for faster Deflate support, still requires zlib)" ON)
-if (libdeflate)
- set(DEFLATE_FOUND 0)
- find_path(DEFLATE_INCLUDE_DIR libdeflate.h)
- set(DEFLATE_NAMES ${DEFLATE_NAMES} deflate)
- find_library(DEFLATE_LIBRARY NAMES ${DEFLATE_NAMES})
- if (DEFLATE_INCLUDE_DIR AND DEFLATE_LIBRARY)
- set(DEFLATE_FOUND 1)
- set(DEFLATE_LIBRARIES ${DEFLATE_LIBRARY})
- message(STATUS "Found libdeflate: ${DEFLATE_LIBRARY}")
- endif()
-endif()
set(LIBDEFLATE_SUPPORT FALSE)
-if(DEFLATE_FOUND)
+find_path(DEFLATE_INCLUDE_DIR libdeflate.h)
+set(DEFLATE_NAMES ${DEFLATE_NAMES} deflate libdeflate libdeflatestatic)
+find_library(DEFLATE_LIBRARY NAMES ${DEFLATE_NAMES})
+if (DEFLATE_INCLUDE_DIR AND DEFLATE_LIBRARY)
+ set(DEFLATE_FOUND TRUE)
+ set(DEFLATE_LIBRARIES ${DEFLATE_LIBRARY})
+ message(STATUS "Found libdeflate: ${DEFLATE_LIBRARY}")
+else()
+ set(DEFLATE_FOUND FALSE)
+endif()
+option(libdeflate "use libdeflate (optional for faster Deflate support, still requires zlib)" ${DEFLATE_FOUND})
+if (libdeflate AND DEFLATE_FOUND AND ZIP_SUPPORT)
set(LIBDEFLATE_SUPPORT TRUE)
endif()
-
-if(LIBDEFLATE_SUPPORT AND NOT ZIP_SUPPORT)
- message(WARNING "libdeflate available but zlib is not. libdeflate cannot be used")
- set(LIBDEFLATE_SUPPORT FALSE)
+if(DEFLATE_FOUND AND NOT ZIP_SUPPORT)
+ message(WARNING "libdeflate available but zlib is not. libdeflate cannot be used")
endif()
-set(LIBDEFLATE_SUPPORT ${LIBDEFLATE_SUPPORT})
-
-
# Option for Pixar log-format algorithm
-
# Pixar log format
-option(pixarlog "support for Pixar log-format algorithm (requires Zlib)" ON)
set(PIXARLOG_SUPPORT FALSE)
-if (ZLIB_SUPPORT)
- if(pixarlog)
- set(PIXARLOG_SUPPORT TRUE)
- endif()
+option(pixarlog "support for Pixar log-format algorithm (requires Zlib)" ${ZLIB_SUPPORT})
+if(pixarlog AND ZLIB_SUPPORT)
+ set(PIXARLOG_SUPPORT TRUE)
endif()
# JPEG
-option(jpeg "use libjpeg (required for JPEG compression)" ON)
-if (jpeg)
- find_package(JPEG)
-endif()
set(JPEG_SUPPORT FALSE)
-if(JPEG_FOUND)
- set(JPEG_SUPPORT TRUE)
+find_package(JPEG)
+option(jpeg "use libjpeg (required for JPEG compression)" ${JPEG_FOUND})
+if (jpeg AND JPEG_FOUND)
+ set(JPEG_SUPPORT TRUE)
endif()
-option(old-jpeg "support for Old JPEG compression (read-only)" ON)
+# Old-jpeg
set(OJPEG_SUPPORT FALSE)
-if (JPEG_SUPPORT)
- if (old-jpeg)
- set(OJPEG_SUPPORT TRUE)
- endif()
+option(old-jpeg "support for Old JPEG compression (read-only)" ${JPEG_SUPPORT})
+if (old-jpeg AND JPEG_SUPPORT)
+ set(OJPEG_SUPPORT TRUE)
endif()
# JBIG-KIT
-option(jbig "use ISO JBIG compression (requires JBIT-KIT library)" ON)
-if (jbig)
- set(JBIG_FOUND 0)
- find_path(JBIG_INCLUDE_DIR jbig.h)
- set(JBIG_NAMES ${JBIG_NAMES} jbig libjbig)
- find_library(JBIG_LIBRARY NAMES ${JBIG_NAMES})
- if (JBIG_INCLUDE_DIR AND JBIG_LIBRARY)
- set(JBIG_FOUND 1)
- set(JBIG_LIBRARIES ${JBIG_LIBRARY})
- endif()
-endif()
-set(JBIG_SUPPORT 0)
-if(JBIG_FOUND)
+set(JBIG_SUPPORT FALSE)
+find_path(JBIG_INCLUDE_DIR jbig.h)
+set(JBIG_NAMES ${JBIG_NAMES} jbig libjbig)
+find_library(JBIG_LIBRARY NAMES ${JBIG_NAMES})
+if (JBIG_INCLUDE_DIR AND JBIG_LIBRARY)
set(JBIG_FOUND TRUE)
- set(JBIG_SUPPORT 1)
+ set(JBIG_LIBRARIES ${JBIG_LIBRARY})
else()
set(JBIG_FOUND FALSE)
endif()
+option(jbig "use ISO JBIG compression (requires JBIT-KIT library)" ${JBIG_FOUND})
+if (jbig AND JBIG_FOUND)
+ set(JBIG_SUPPORT TRUE)
+endif()
set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${JBIG_INCLUDE_DIR})
@@ -428,63 +409,63 @@ check_symbol_exists(jbg_newlen "jbig.h" HAVE_JBG_NEWLEN)
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
# liblzma2
-option(lzma "use liblzma (required for LZMA2 compression)" ON)
-if (lzma)
- find_package(LibLZMA)
-endif()
-set(LZMA_SUPPORT 0)
-if(LIBLZMA_FOUND)
- set(LZMA_SUPPORT 1)
+set(LZMA_SUPPORT FALSE)
+find_package(LibLZMA)
+option(lzma "use liblzma (required for LZMA2 compression)" ${LZMA_FOUND})
+if (lzma AND LIBLZMA_FOUND)
+ set(LZMA_SUPPORT TRUE)
endif()
# libzstd
-option(zstd "use libzstd (required for ZSTD compression)" ON)
-if (zstd)
- find_path(ZSTD_INCLUDE_DIR zstd.h)
- find_library(ZSTD_LIBRARY NAMES zstd)
- if (ZSTD_INCLUDE_DIR AND ZSTD_LIBRARY)
- check_library_exists ("${ZSTD_LIBRARY}" ZSTD_decompressStream "" ZSTD_RECENT_ENOUGH)
- if (ZSTD_RECENT_ENOUGH)
- set(ZSTD_FOUND TRUE)
- set(ZSTD_LIBRARIES ${ZSTD_LIBRARY})
- message(STATUS "Found ZSTD library: ${ZSTD_LIBRARY}")
- else ()
- message(WARNING "Found ZSTD library, but not recent enough. Use zstd >= 1.0")
- endif ()
- endif ()
-endif()
-set(ZSTD_SUPPORT 0)
-if(ZSTD_FOUND)
- set(ZSTD_SUPPORT 1)
+set(ZSTD_SUPPORT FALSE)
+find_path(ZSTD_INCLUDE_DIR zstd.h)
+find_library(ZSTD_LIBRARY NAMES zstd zstd_static)
+if (ZSTD_INCLUDE_DIR AND ZSTD_LIBRARY)
+ check_library_exists ("${ZSTD_LIBRARY}" ZSTD_decompressStream "" ZSTD_RECENT_ENOUGH)
+ if (ZSTD_RECENT_ENOUGH)
+ set(ZSTD_FOUND TRUE)
+ set(ZSTD_LIBRARIES ${ZSTD_LIBRARY})
+ message(STATUS "Found ZSTD library: ${ZSTD_LIBRARY}")
+ else()
+ message(WARNING "Found ZSTD library, but not recent enough. Use zstd >= 1.0")
+ endif()
+else()
+ set(ZSTD_FOUND FALSE)
+endif()
+option(zstd "use libzstd (required for ZSTD compression)" ${ZSTD_FOUND})
+if (zstd AND ZSTD_FOUND)
+ set(ZSTD_SUPPORT TRUE)
endif()
# libwebp
-option(webp "use libwebp (required for WEBP compression)" ON)
-if (webp)
- find_path(WEBP_INCLUDE_DIR /webp/decode.h)
- find_library(WEBP_LIBRARY NAMES webp)
-endif()
-set(WEBP_SUPPORT 0)
-set(WEBP_FOUND FALSE)
+set(WEBP_SUPPORT FALSE)
+find_path(WEBP_INCLUDE_DIR webp/decode.h)
+find_library(WEBP_LIBRARY NAMES webp)
if (WEBP_INCLUDE_DIR AND WEBP_LIBRARY)
- set(WEBP_SUPPORT 1)
- set(WEBP_FOUND TRUE)
set(WEBP_LIBRARIES ${WEBP_LIBRARY})
+ set(WEBP_FOUND TRUE)
message(STATUS "Found WEBP library: ${WEBP_LIBRARY}")
+else()
+ set(WEBP_FOUND FALSE)
+endif()
+option(webp "use libwebp (required for WEBP compression)" ${WEBP_FOUND})
+if (webp AND WEBP_FOUND)
+ set(WEBP_SUPPORT TRUE)
endif()
# 8/12-bit jpeg mode
-option(jpeg12 "enable libjpeg 8/12-bit dual mode (requires separate
-12-bit libjpeg build)" ON)
set(JPEG12_INCLUDE_DIR JPEG12_INCLUDE_DIR-NOTFOUND CACHE PATH "Include directory for 12-bit libjpeg")
set(JPEG12_LIBRARY JPEG12_LIBRARY-NOTFOUND CACHE FILEPATH "12-bit libjpeg library")
-set(JPEG12_FOUND FALSE)
+set(JPEG_DUAL_MODE_8_12 FALSE)
if (JPEG12_INCLUDE_DIR AND JPEG12_LIBRARY)
set(JPEG12_LIBRARIES ${JPEG12_LIBRARY})
set(JPEG12_FOUND TRUE)
+else()
+ set(JPEG12_FOUND FALSE)
endif()
-if (JPEG12_FOUND)
- set(JPEG_DUAL_MODE_8_12 1)
+option(jpeg12 "enable libjpeg 8/12-bit dual mode (requires separate 12-bit libjpeg build)" ${JPEG12_FOUND})
+if (jpeg12 AND JPEG12_FOUND)
+ set(JPEG_DUAL_MODE_8_12 TRUE)
set(LIBJPEG_12_PATH "${JPEG12_INCLUDE_DIR}/jpeglib.h")
endif()
@@ -522,7 +503,7 @@ set(USE_WIN32_FILEIO ${win32_io})
# Orthogonal features
# Strip chopping
-option(strip-chopping "strip chopping (whether or not to convert single-strip uncompressed images to multiple strips of specified size to reduce memory usage)" ON)
+option(strip-chopping "strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of specified size to reduce memory usage)" ON)
set(TIFF_DEFAULT_STRIP_SIZE 8192 CACHE STRING "default size of the strip in bytes (when strip chopping is enabled)")
set(STRIPCHOP_DEFAULT)
@@ -658,16 +639,28 @@ message(STATUS " NeXT 2-bit RLE algorithm: ${next}")
message(STATUS " LogLuv high dynamic range encoding: ${logluv}")
message(STATUS "")
message(STATUS " Support for external codecs:")
-message(STATUS " ZLIB support: ${zlib} (requested) ${ZLIB_FOUND} (availability)")
-message(STATUS " libdeflate support: ${libdeflate} (requested) ${LIBDEFLATE_SUPPORT} (availability)")
-message(STATUS " Pixar log-format algorithm: ${pixarlog} (requested) ${PIXARLOG_SUPPORT} (availability)")
-message(STATUS " JPEG support: ${jpeg} (requested) ${JPEG_FOUND} (availability)")
-message(STATUS " Old JPEG support: ${old-jpeg} (requested) ${JPEG_FOUND} (availability)")
-message(STATUS " JPEG 8/12 bit dual mode: ${jpeg12} (requested) ${JPEG12_FOUND} (availability)")
-message(STATUS " ISO JBIG support: ${jbig} (requested) ${JBIG_FOUND} (availability)")
-message(STATUS " LZMA2 support: ${lzma} (requested) ${LIBLZMA_FOUND} (availability)")
-message(STATUS " ZSTD support: ${zstd} (requested) ${ZSTD_FOUND} (availability)")
-message(STATUS " WEBP support: ${webp} (requested) ${WEBP_FOUND} (availability)")
+message(STATUS " ZLIB support: Requested:${zlib} Availability:${ZLIB_FOUND} Support:${ZLIB_SUPPORT}")
+if(ZLIB_SUPPORT)
+ message(STATUS " libdeflate support: Requested:${libdeflate} Availability:${DEFLATE_FOUND} Support:${LIBDEFLATE_SUPPORT}")
+else()
+ message(STATUS " libdeflate support: Requested:${libdeflate} Availability:${DEFLATE_FOUND} Support:${LIBDEFLATE_SUPPORT} (Depends on ZLIB Support)")
+endif()
+if(ZLIB_SUPPORT)
+ message(STATUS " Pixar log-format algorithm: Requested:${pixarlog} Availability:${ZLIB_FOUND} Support:${PIXARLOG_SUPPORT}")
+else()
+ message(STATUS " Pixar log-format algorithm: Requested:${pixarlog} Availability:${ZLIB_FOUND} Support:${PIXARLOG_SUPPORT} (Depends on ZLIB Support)")
+endif()
+message(STATUS " JPEG support: Requested:${jpeg} Availability:${JPEG_FOUND} Support:${JPEG_SUPPORT}")
+if(JPEG_SUPPORT)
+ message(STATUS " Old JPEG support: Requested:${old-jpeg} Availability:${JPEG_SUPPORT} Support:${OJPEG_SUPPORT}")
+else()
+ message(STATUS " Old JPEG support: Requested:${old-jpeg} Availability:${JPEG_SUPPORT} Support:${OJPEG_SUPPORT} (Depends on JPEG Support)")
+endif()
+message(STATUS " JPEG 8/12 bit dual mode: Requested:${jpeg12} Availability:${JPEG12_FOUND} Support:${JPEG_DUAL_MODE_8_12}")
+message(STATUS " ISO JBIG support: Requested:${jbig} Availability:${JBIG_FOUND} Support:${JBIG_SUPPORT}")
+message(STATUS " LZMA2 support: Requested:${lzma} Availability:${LIBLZMA_FOUND} Support:${LZMA_SUPPORT}")
+message(STATUS " ZSTD support: Requested:${zstd} Availability:${ZSTD_FOUND} Support:${ZSTD_SUPPORT}")
+message(STATUS " WEBP support: Requested:${webp} Availability:${WEBP_FOUND} Support:${WEBP_SUPPORT}")
message(STATUS "")
message(STATUS " C++ support: ${cxx} (requested) ${CXX_SUPPORT} (availability)")
message(STATUS "")
diff --git a/tools/tiff2ps.c b/tools/tiff2ps.c
index 3a653072..9a093d25 100644
--- a/tools/tiff2ps.c
+++ b/tools/tiff2ps.c
@@ -629,7 +629,7 @@ static const char RGBcolorimage[] = "\
* It is claimed to be part of some future revision of the EPS spec.
*/
static void
-PhotoshopBanner(FILE* fd, uint32_t w, uint32_t h, int bs, int nc, char* startline)
+PhotoshopBanner(FILE* fd, uint32_t w, uint32_t h, int bs, int nc, const char* startline)
{
fprintf(fd, "%%ImageData: %"PRIu32" %"PRIu32" %"PRIu16" %d 0 %d 2 \"",
w, h, bitspersample, nc, bs);
@@ -1824,7 +1824,7 @@ PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32_t w, uint32_t h)
uint16_t predictor, minsamplevalue, maxsamplevalue;
uint32_t repeat_count;
char im_h[64], im_x[64], im_y[64];
- char * imageOp = "image";
+ const char * imageOp = "image";
if ( useImagemask && (bitspersample == 1) )
imageOp = "imagemask";