diff options
-rw-r--r-- | .appveyor.yml | 4 | ||||
-rw-r--r-- | CMakeLists.txt | 213 | ||||
-rw-r--r-- | tools/tiff2ps.c | 4 |
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"; |