GraphicsMagick: jp2/* Update lib jasper to 2.0.6.
GraphicsMagick Commits <[email protected]>
| Newsgroups | gmane.comp.video.graphicsmagick.cvs |
|---|---|
| Message-ID | <mailman.38378.1672586163.1567.graphicsmagick-commit@lists.sourceforge.net> |
changeset 85c004da4dd6 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=85c004da4dd6
summary: jp2/* Update lib jasper to 2.0.6.
diffstat:
jp2/CMakeLists.txt | 373 ++-
jp2/ChangeLog | 753 +++++++++-
jp2/build/cmake/modules/Sanitizers.cmake | 16 +-
jp2/build/jasper.pc.in | 4 +-
jp2/data/test/bad/heap-out-of-bound-read-due-to-off-by-1-poc.jp2 | Bin
jp2/data/test/bad/null-pointer-dereference-poc.jp2 | Bin
jp2/doc/CMakeLists.txt | 41 +-
jp2/doc/html/bmp__cod_8h_source.html | 9 +-
jp2/doc/html/bmp__enc_8h_source.html | 9 +-
jp2/doc/html/dir_06c90920e3eae62b3319bb4f7e82b29e.html | 135 +
jp2/doc/html/dir_0ae4d01e0214b3b16f510bdb0a43da97.html | 109 +
jp2/doc/html/dir_253f277ccfe4e82659157434c26f3673.html | 117 +
jp2/doc/html/dir_2e450c83cbab4d121afe3bb6b9a1a815.html | 117 +
jp2/doc/html/dir_3e64a87ba1f1507e1e35533c04d15094.html | 117 +
jp2/doc/html/dir_423062511bee2d6ca434c4712632ac70.html | 127 +
jp2/doc/html/dir_43dadee5b59cae5a554d5cdab2dced57.html | 143 +
jp2/doc/html/dir_53055196011d2e0f89672618394e49c2.html | 121 +
jp2/doc/html/dir_6cf8f22baa2cc2b15c07b55f31825bfc.html | 189 ++
jp2/doc/html/dir_7bdbd26f0525cfc2f0148f78f5dbffe8.html | 117 +
jp2/doc/html/dir_89c853c8098ab04f353f6f7587310470.html | 121 +
jp2/doc/html/dir_9b898d60e50abb0512d85471d0556212.html | 111 +
jp2/doc/html/dir_a4788ab39066acc5dd80e31a17189720.html | 117 +
jp2/doc/html/dir_cb52bb4f2fb56fbea96d6b81b24d0ad7.html | 111 +
jp2/doc/html/dir_d5cd1de484bb3f95af01723a0e2791b6.html | 109 +
jp2/doc/html/faq.html | 7 +-
jp2/doc/html/files.html | 106 +-
jp2/doc/html/files.js | 1 +
jp2/doc/html/getting_started.html | 7 +-
jp2/doc/html/index.html | 9 +-
jp2/doc/html/install.html | 7 +-
jp2/doc/html/jas__cm_8h_source.html | 75 +-
jp2/doc/html/jas__debug_8h_source.html | 15 +-
jp2/doc/html/jas__dll_8h_source.html | 132 +
jp2/doc/html/jas__fix_8h_source.html | 9 +-
jp2/doc/html/jas__getopt_8h_source.html | 17 +-
jp2/doc/html/jas__icc_8h_source.html | 9 +-
jp2/doc/html/jas__image_8h_source.html | 59 +-
jp2/doc/html/jas__init_8h_source.html | 13 +-
jp2/doc/html/jas__malloc_8h_source.html | 13 +-
jp2/doc/html/jas__math_8h_source.html | 9 +-
jp2/doc/html/jas__seq_8h_source.html | 41 +-
jp2/doc/html/jas__stream_8h_source.html | 67 +-
jp2/doc/html/jas__string_8h_source.html | 11 +-
jp2/doc/html/jas__tmr_8h_source.html | 15 +-
jp2/doc/html/jas__tvp_8h_source.html | 23 +-
jp2/doc/html/jas__types_8h_source.html | 9 +-
jp2/doc/html/jas__version_8h_source.html | 11 +-
jp2/doc/html/jasper_8h_source.html | 9 +-
jp2/doc/html/jp2__cod_8h_source.html | 9 +-
jp2/doc/html/jp2__dec_8h_source.html | 9 +-
jp2/doc/html/jpc__bs_8h_source.html | 9 +-
jp2/doc/html/jpc__cod_8h_source.html | 9 +-
jp2/doc/html/jpc__cs_8h_source.html | 9 +-
jp2/doc/html/jpc__dec_8h_source.html | 9 +-
jp2/doc/html/jpc__enc_8h_source.html | 9 +-
jp2/doc/html/jpc__fix_8h_source.html | 9 +-
jp2/doc/html/jpc__flt_8h_source.html | 9 +-
jp2/doc/html/jpc__math_8h_source.html | 9 +-
jp2/doc/html/jpc__mct_8h_source.html | 9 +-
jp2/doc/html/jpc__mqcod_8h_source.html | 9 +-
jp2/doc/html/jpc__mqdec_8h_source.html | 9 +-
jp2/doc/html/jpc__mqenc_8h_source.html | 9 +-
jp2/doc/html/jpc__qmfb_8h_source.html | 9 +-
jp2/doc/html/jpc__t1cod_8h_source.html | 9 +-
jp2/doc/html/jpc__t1dec_8h_source.html | 9 +-
jp2/doc/html/jpc__t1enc_8h_source.html | 9 +-
jp2/doc/html/jpc__t2cod_8h_source.html | 9 +-
jp2/doc/html/jpc__t2dec_8h_source.html | 9 +-
jp2/doc/html/jpc__t2enc_8h_source.html | 9 +-
jp2/doc/html/jpc__tagtree_8h_source.html | 9 +-
jp2/doc/html/jpc__tsfb_8h_source.html | 9 +-
jp2/doc/html/jpc__util_8h_source.html | 9 +-
jp2/doc/html/jpg__cod_8h_source.html | 9 +-
jp2/doc/html/jpg__enc_8h_source.html | 9 +-
jp2/doc/html/jpg__jpeglib_8h_source.html | 9 +-
jp2/doc/html/known_bugs.html | 10 +-
jp2/doc/html/mif__cod_8h_source.html | 9 +-
jp2/doc/html/navtreedata.js | 10 +-
jp2/doc/html/navtreeindex0.js | 126 +-
jp2/doc/html/organization.html | 7 +-
jp2/doc/html/pages.html | 7 +-
jp2/doc/html/pgx__cod_8h_source.html | 9 +-
jp2/doc/html/pgx__enc_8h_source.html | 9 +-
jp2/doc/html/pnm__cod_8h_source.html | 9 +-
jp2/doc/html/pnm__enc_8h_source.html | 9 +-
jp2/doc/html/ras__cod_8h_source.html | 9 +-
jp2/doc/html/ras__enc_8h_source.html | 9 +-
jp2/doc/html/search/all_3.js | 2 +-
jp2/doc/html/search/all_4.js | 2 +-
jp2/doc/html/search/all_5.js | 2 +-
jp2/doc/html/search/pages_3.js | 2 +-
jp2/doc/html/search/pages_4.js | 2 +-
jp2/doc/html/search/pages_5.js | 2 +-
jp2/doc/html/search/searchdata.js | 4 +-
jp2/doc/manual.pdf | Bin
jp2/doc/src/bugs.dox | 12 +-
jp2/src/appl/CMakeLists.txt | 11 +-
jp2/src/appl/jiv.c | 6 +-
jp2/src/libjasper/CMakeLists.txt | 23 +-
jp2/src/libjasper/base/jas_debug.c | 2 +-
jp2/src/libjasper/include/jasper/jas_cm.h | 16 +-
jp2/src/libjasper/include/jasper/jas_config.h | 7 +
jp2/src/libjasper/include/jasper/jas_config.h.in | 7 +
jp2/src/libjasper/include/jasper/jas_debug.h | 6 +-
jp2/src/libjasper/include/jasper/jas_dll.h | 29 +
jp2/src/libjasper/include/jasper/jas_getopt.h | 8 +-
jp2/src/libjasper/include/jasper/jas_image.h | 50 +-
jp2/src/libjasper/include/jasper/jas_init.h | 4 +-
jp2/src/libjasper/include/jasper/jas_malloc.h | 4 +-
jp2/src/libjasper/include/jasper/jas_seq.h | 32 +-
jp2/src/libjasper/include/jasper/jas_stream.h | 58 +-
jp2/src/libjasper/include/jasper/jas_string.h | 2 +-
jp2/src/libjasper/include/jasper/jas_tmr.h | 6 +-
jp2/src/libjasper/include/jasper/jas_tvp.h | 14 +-
jp2/src/libjasper/include/jasper/jas_version.h | 2 +-
jp2/src/libjasper/jpc/jpc_t2cod.c | 4 +-
jp2/test/bin/codec_tests | 10 +-
jp2/test/bin/run_codec_test | 41 +-
jp2/test/bin/run_test_3 | 9 +-
jp2/test/bin/wrapper.in | 20 +
120 files changed, 3625 insertions(+), 980 deletions(-)
diffs (truncated from 7304 to 500 lines):
diff -r 6767d8d8906b -r 85c004da4dd6 jp2/CMakeLists.txt
--- a/jp2/CMakeLists.txt Sun Jan 01 11:19:55 2023 +0100
+++ b/jp2/CMakeLists.txt Sun Jan 01 16:15:19 2023 +0100
@@ -1,8 +1,6 @@
cmake_minimum_required (VERSION 2.8.11)
-set(JAS_PROJECT_NAME "JasPer")
-
-project("${JAS_PROJECT_NAME}")
+project(JasPer)
set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/build/cmake/modules/")
@@ -17,7 +15,7 @@
# The major, minor, and micro version numbers of the project.
set(JAS_VERSION_MAJOR 2)
set(JAS_VERSION_MINOR 0)
-set(JAS_VERSION_PATCH 0)
+set(JAS_VERSION_PATCH 6)
# The project version.
set(JAS_VERSION
@@ -51,22 +49,48 @@
set(JAS_SO_NAME "${JAS_SO_VERSION}.${JAS_SO_MINOR}.${JAS_SO_RELEASE}")
################################################################################
+# Include modules and set policies.
+################################################################################
-set(CMAKE_C_STANDARD 11)
-set(CMAKE_VERBOSE_MAKEFILE on)
+# Adhere to GNU filesystem layout conventions.
+include(GNUInstallDirs)
include(CheckIncludeFiles)
include(CheckFunctionExists)
+include(CheckCSourceCompiles)
include(CTest)
include(Sanitizers)
+
cmake_policy(SET CMP0012 NEW)
-option(JAS_ENABLE_LIBJPEG "Enable use of JPEG Library" true)
-option(JAS_ENABLE_OPENGL "Enable use of OpenGL Library" true)
+################################################################################
+# Define options.
+################################################################################
+
+option(JAS_ENABLE_SHARED "Enable building of shared library" true)
+option(JAS_ENABLE_LIBJPEG "Enable the use of the JPEG Library" true)
+option(JAS_ENABLE_OPENGL "Enable the use of the OpenGL/GLUT Library" true)
option(JAS_ENABLE_STRICT "Enable pedantic error checking" false)
-option(JAS_ENABLE_SHARED "Enable building of shared library" true)
+option(JAS_ENABLE_AUTOMATIC_DEPENDENCIES "Enable automatic dependencies" true)
+option(JAS_LOCAL "Enable local hacks for developers (do not enable)" false)
+
+################################################################################
+#
+################################################################################
+
+#set(CMAKE_VERBOSE_MAKEFILE on)
+set(CMAKE_C_STANDARD 11)
-if (APPLE AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+if (JAS_ENABLE_AUTOMATIC_DEPENDENCIES)
+ message(WARNING
+ "If this software is being built as a package for a Linux distribution, "
+ "you should probably set JAS_ENABLE_AUTOMATIC_DEPENDENCIES to false.")
+ set(JAS_REQUIRED "")
+else()
+ set(JAS_REQUIRED "REQUIRED")
+endif()
+
+if (APPLE AND CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(MACOSX true)
endif()
@@ -83,53 +107,66 @@
endif()
message("Platform ${JAS_PLATFORM}")
-if (WIN32)
- if (JAS_ENABLE_SHARED)
- message(WARNING
- "Disabling the building of shared libraries "
- "(since this does not currently work on this platform). "
- "Setting JAS_ENABLE_SHARED to false."
- )
- set(JAS_ENABLE_SHARED false)
- endif()
-endif()
-
if (JAS_ENABLE_SHARED AND MACOSX)
set(CMAKE_MACOSX_RPATH true)
endif()
+if (JAS_ENABLE_SHARED)
+ set(JAS_DLL 1)
+endif()
+
+message("JAS_LOCAL ${JAS_LOCAL}")
message("CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE}")
message("CMAKE_C_COMPILER_ID ${CMAKE_C_COMPILER_ID}")
message("CMAKE_C_COMPILER ${CMAKE_C_COMPILER}")
message("CMAKE_C_FLAGS ${CMAKE_C_FLAGS}")
-if (${CMAKE_BUILD_TYPE} MATCHES Debug)
- if (${CMAKE_C_COMPILER_ID} MATCHES GNU OR ${CMAKE_C_COMPILER_ID} MATCHES Clang)
+if (JAS_LOCAL AND (CMAKE_BUILD_TYPE MATCHES "Debug"))
+ if (CMAKE_C_COMPILER_ID MATCHES "GNU" OR
+ CMAKE_C_COMPILER_ID MATCHES "Clang")
add_definitions("-O0")
endif()
endif()
-INCLUDE(InstallRequiredSystemLibraries)
-SET(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
-SET(CPACK_PACKAGE_VERSION "${JAS_VERSION}")
-SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "JasPer Image Processing Tool Kit")
-SET(CPACK_PACKAGE_VENDOR "Michael Adams")
-SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
-SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
-SET(CPACK_PACKAGE_VERSION_MAJOR "${JAS_VERSION_MAJOR}")
-SET(CPACK_PACKAGE_VERSION_MINOR "${JAS_VERSION_MINOR}")
-SET(CPACK_PACKAGE_VERSION_PATCH "${JAS_VERSION_PATCH}")
-SET(CPACK_PACKAGE_INSTALL_DIRECTORY
+include(InstallRequiredSystemLibraries)
+set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
+set(CPACK_PACKAGE_VERSION "${JAS_VERSION}")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "JasPer Image Processing Tool Kit")
+set(CPACK_PACKAGE_VENDOR "Michael Adams")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
+set(CPACK_PACKAGE_VERSION_MAJOR "${JAS_VERSION_MAJOR}")
+set(CPACK_PACKAGE_VERSION_MINOR "${JAS_VERSION_MINOR}")
+set(CPACK_PACKAGE_VERSION_PATCH "${JAS_VERSION_PATCH}")
+set(CPACK_PACKAGE_INSTALL_DIRECTORY
"CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
-SET(CPACK_PACKAGE_FILE_NAME
+set(CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
-SET(CPACK_GENERATOR "TGZ")
+set(CPACK_GENERATOR "TGZ")
include(CPack)
+if (JAS_STRICT)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unused")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -W -Wformat -Wmissing-prototypes -Wstrict-prototypes")
+endif()
+
+################################################################################
+# Perform plaform checks.
+################################################################################
+
find_package(Doxygen)
-
+find_package(LATEX COMPONENTS PDFLATEX)
find_program(BASH_PROGRAM bash)
-# HACK to disable tests
-#set(BASH_PROGRAM "")
+
+# On some (or maybe all?) systems, LATEX_FOUND is not set by FindLATEX.
+# So, instead, rely on LATEX_PDFLATEX_FOUND.
+message("PDFLATEX_COMPILER: ${PDFLATEX_COMPILER}")
+if ((NOT LATEX_FOUND) AND PDFLATEX_COMPILER)
+ message(WARNING "Setting LATEX_FOUND to true.")
+ message(WARNING "Your version of CMake may be buggy.")
+ set(LATEX_FOUND true)
+endif()
+message("LATEX_FOUND ${LATEX_FOUND}")
check_include_files(fcntl.h JAS_HAVE_FCNTL_H)
check_include_files(io.h JAS_HAVE_IO_H)
@@ -141,142 +178,182 @@
check_function_exists(gettimeofday JAS_HAVE_GETTIMEOFDAY)
check_function_exists(getrusage JAS_HAVE_GETRUSAGE)
-if (JAS_STRICT)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unused")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -W -Wformat -Wmissing-prototypes -Wstrict-prototypes")
-endif()
+################################################################################
+# Check for the JPEG library.
+################################################################################
-find_package(JPEG)
-if (JPEG_FOUND)
- include_directories("${JPEG_INCLUDE_DIR}")
-endif()
-#check_include_files(jpeglib.h JAS_HAVE_JPEGLIB_H)
-# HACK
-set(JAS_HAVE_JPEGLIB_H 1)
+find_package(JPEG ${JAS_LIBJPEG_REQUIRED})
message("JPEG library found: ${JPEG_FOUND}")
-message("JPEG libraries: ${JPEG_LIBRARIES}")
-message("JPEG include directory: ${JPEG_INCLUDE_DIR}")
-message("JAS_ENABLE_LIBJPEG: ${JAS_ENABLE_LIBJPEG}")
-message("JAS_HAVE_JPEGLIB_H: ${JAS_HAVE_JPEGLIB_H}")
-if(JPEG_FOUND AND (NOT JAS_ENABLE_LIBJPEG OR NOT JAS_HAVE_JPEGLIB_H))
- message("disabling LIBJPEG")
- set(JPEG_FOUND false)
+if (JAS_ENABLE_LIBJPEG AND JPEG_FOUND)
+ set(JAS_HAVE_LIBJPEG 0)
+ message("JPEG include directory: ${JPEG_INCLUDE_DIR}")
+ message("JPEG libraries: ${JPEG_LIBRARIES}")
+ # In some versions of the JPEG library, the header file jpeglib.h
+ # does not include some of the header files upon which it depends
+ # (e.g., stdio.h and stdint.h). So, we cannot reliably use
+ # check_include_file here.
+ set(CMAKE_REQUIRED_INCLUDES ${JPEG_INCLUDE_DIR})
+ check_c_source_compiles("
+ #include <stdio.h>
+ #include <stdint.h>
+ #include <jpeglib.h>
+ int main() {}
+ " JAS_HAVE_JPEGLIB_H)
+ message("JAS_HAVE_JPEGLIB_H: ${JAS_HAVE_JPEGLIB_H}")
+ if(JAS_HAVE_JPEGLIB_H)
+ set(JAS_HAVE_LIBJPEG 1)
+ include_directories(${JPEG_INCLUDE_DIR})
+ else()
+ message(WARNING "The header file jpeglib.h appears to be missing.")
+ message(WARNING "Disabling LIBJPEG.")
+ set(JPEG_FOUND false)
+ set(JPEG_LIBRARIES "")
+ set(JPEG_INCLUDE_DIR "")
+ set(JAS_ENABLE_LIBJPEG 0)
+ endif()
+else()
+ set(JAS_HAVE_LIBJPEG 0)
+ set(JPEG_INCLUDE_DIR "")
set(JPEG_LIBRARIES "")
- set(JPEG_INCLUDE_DIR "")
endif()
-# HACK
-#if (MACOSX)
-# message("disabling LIBJPEG")
-# set(JPEG_FOUND false)
-# set(JPEG_LIBRARIES "")
-# set(JPEG_INCLUDE_DIR "")
-#endif()
+message("JAS_HAVE_LIBJPEG: ${JAS_HAVE_LIBJPEG}")
-find_package(GLUT)
-if(GLUT_FOUND)
- include_directories("${GLUT_INCLUDE_DIR}")
-endif()
-check_include_files(GL/glut.h JAS_HAVE_GL_GLUT_H)
-message("GLUT library found: ${GLUT_FOUND}")
-message("GLUT libraries: ${GLUT_LIBRARIES}")
-message("GLUT include directory: ${GLUT_INCLUDE_DIR}")
+################################################################################
+# Check for the OpenGL and GLUT libraries.
+################################################################################
+
+find_package(OpenGL ${JAS_REQUIRED})
message("JAS_ENABLE_OPENGL: ${JAS_ENABLE_OPENGL}")
-message("JAS_HAVE_GL_GLUT_H: ${JAS_HAVE_GL_GLUT_H}")
-if(GLUT_FOUND AND (NOT JAS_HAVE_GL_GLUT_H OR NOT JAS_ENABLE_OPENGL))
- message("disabling GLUT")
- set(GLUT_FOUND false)
+message("OpenGL library found: ${OPENGL_FOUND}")
+if (JAS_ENABLE_OPENGL AND OPENGL_FOUND)
+ set(JAS_HAVE_OPENGL 0)
+ message("OpenGL include directory: ${OPENGL_INCLUDE_DIR}")
+ message("OpenGL libraries: ${OPENGL_LIBRARIES}")
+ find_package(GLUT ${JAS_REQUIRED})
+ message("GLUT library found: ${GLUT_FOUND}")
+ if (GLUT_FOUND)
+ message("GLUT include directory: ${GLUT_INCLUDE_DIR}")
+ message("GLUT libraries: ${GLUT_LIBRARIES}")
+ set(CMAKE_REQUIRED_INCLUDES ${GLUT_INCLUDE_DIR})
+ check_include_files(GL/glut.h JAS_HAVE_GL_GLUT_H)
+ check_include_files(glut.h JAS_HAVE_GLUT_H)
+ message("JAS_HAVE_GLUT_H: ${JAS_HAVE_GLUT_H}")
+ message("JAS_HAVE_GL_GLUT_H: ${JAS_HAVE_GL_GLUT_H}")
+ if (JAS_HAVE_GL_GLUT_H OR JAS_HAVE_GLUT_H)
+ set(JAS_HAVE_OPENGL 1)
+ include_directories(${GLUT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
+ else()
+ message(WARNING "The header files GL/glut.h and glut.h both appear to be missing.")
+ message(WARNING "Disabling OpenGL.")
+ endif()
+ endif()
+ # On some systems (e.g., Fedora 21), there is a bug in the cmake code
+ # that detects GLUT libraries. The following ugliness is a workaround for
+ # this problem.
+ if (NOT GLUT_Xmu_LIBRARY OR NOT GLUT_Xmi_LIBRARY)
+ if (NOT GLUT_Xmu_LIBRARY)
+ set(GLUT_Xmu_LIBRARY "")
+ message(WARNING "Clearing bogus value for GLUT_Xmu_LIBRARY.")
+ message(WARNING "Your version of CMake may be buggy.")
+ endif()
+ if (NOT GLUT_Xmi_LIBRARY)
+ set(GLUT_Xmi_LIBRARY "")
+ message(WARNING "Clearing bogus value for GLUT_Xmi_LIBRARY.")
+ message(WARNING "Your version of CMake may be buggy.")
+ endif()
+ set(GLUT_LIBRARIES "${GLUT_glut_LIBRARY}")
+ endif()
+else()
+ set(JAS_HAVE_OPENGL 0)
+ set(OPENGL_INCLUDE_DIR "")
+ set(OPENGL_LIBRARIES "")
+ set(GLUT_INCLUDE_DIR "")
set(GLUT_LIBRARIES "")
- set(GLUT_INCLUDE_DIR "")
endif()
+message("JAS_HAVE_OPENGL: ${JAS_HAVE_OPENGL}")
-if(UNIX)
- set(MATH_LIBRARY m)
-else()
+################################################################################
+# Check for the Math library.
+################################################################################
+
+find_library(MATH_LIBRARY m)
+if (NOT MATH_LIBRARY)
set(MATH_LIBRARY "")
endif()
-if (JAS_MEMORY_LIMIT)
- add_definitions(-DJAS_MEMORY_LIMIT=${JAS_MEMORY_LIMIT})
-endif()
-
################################################################################
-
-# use, i.e. don't skip the full RPATH for the build tree
-SET(CMAKE_SKIP_BUILD_RPATH FALSE)
-
-# when building, don't use the install RPATH already
-# (but later on when installing)
-SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
-
-SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+#
+################################################################################
-# add the automatically determined parts of the RPATH
-# which point to directories outside the build tree to the install RPATH
-SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-
-
-# the RPATH to be used when installing, but only if it's not a system directory
-LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
-IF("${isSystemDir}" STREQUAL "-1")
- SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
-ENDIF("${isSystemDir}" STREQUAL "-1")
+if (JAS_MEMORY_LIMIT)
+ add_definitions("-DJAS_MEMORY_LIMIT=${JAS_MEMORY_LIMIT}")
+endif()
################################################################################
+#
+################################################################################
-subdirs(src/libjasper src/appl doc)
+if (JAS_ENABLE_SHARED)
+
+ # use, i.e. don't skip the full RPATH for the build tree
+ set(CMAKE_SKIP_BUILD_RPATH FALSE)
+
+ # when building, don't use the install RPATH already
+ # (but later on when installing)
+ set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+
+ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+
+ # add the automatically determined parts of the RPATH
+ # which point to directories outside the build tree to the install RPATH
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-#include_directories(${CMAKE_CURRENT_BINARY_DIR}/src/libjasper/include)
-#include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/libjasper/include)
-#target_include_directories(libjasper PUBLIC
-#"${CMAKE_CURRENT_BINARY_DIR}/src/libjasper/include"
-#"${CMAKE_CURRENT_SOURCE_DIR}/src/libjasper/include")
+ # The RPATH to be used when installing, but only if it's not a
+ # system directory
+ list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+ "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
+ if("${isSystemDir}" STREQUAL "-1")
+ set(CMAKE_INSTALL_RPATH
+ "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+ endif("${isSystemDir}" STREQUAL "-1")
+
+endif()
+
+################################################################################
+#
+################################################################################
-set(ENV{JAS_ABS_TOP_BUILDDIR} "${CMAKE_CURRENT_BINARY_DIR}")
-set(ENV{JAS_ABS_TOP_SRCDIR} "${CMAKE_CURRENT_SOURCE_DIR}")
-set(ENV{JAS_TOP_BUILDDIR} "${CMAKE_CURRENT_BINARY_DIR}")
-set(ENV{JAS_TOP_SRCDIR} "${CMAKE_CURRENT_SOURCE_DIR}")
-# "JAS_TOP_BUILDDIR=../../build"
-# "JAS_TOP_SRCDIR=../.."
+add_subdirectory(src/libjasper)
+add_subdirectory(src/appl)
+add_subdirectory(doc)
+
+# The package configuation (pc) file should be installed in
+# ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig.
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/build/jasper.pc.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/build/jasper.pc" @ONLY)
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/build/jasper.pc"
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+
+install(FILES "README" DESTINATION "${CMAKE_INSTALL_DOCDIR}")
+
+################################################################################
+# Test suite
+################################################################################
+
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/test/bin/wrapper.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/test/bin/wrapper" @ONLY)
if (BASH_PROGRAM)
add_test(run_test_1
- "${BASH_PROGRAM}" "${CMAKE_CURRENT_SOURCE_DIR}/test/bin/wrapper"
- "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}"
+ "${BASH_PROGRAM}" "${CMAKE_CURRENT_BINARY_DIR}/test/bin/wrapper"
"${CMAKE_CURRENT_SOURCE_DIR}/test/bin/run_test_1")
add_test(run_test_2
- "${BASH_PROGRAM}" "${CMAKE_CURRENT_SOURCE_DIR}/test/bin/wrapper"
- "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}"
+ "${BASH_PROGRAM}" "${CMAKE_CURRENT_BINARY_DIR}/test/bin/wrapper"
"${CMAKE_CURRENT_SOURCE_DIR}/test/bin/run_test_2")
add_test(run_test_3
- "${BASH_PROGRAM}" "${CMAKE_CURRENT_SOURCE_DIR}/test/bin/wrapper"
- "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}"
+ "${BASH_PROGRAM}" "${CMAKE_CURRENT_BINARY_DIR}/test/bin/wrapper"
"${CMAKE_CURRENT_SOURCE_DIR}/test/bin/run_test_3")
add_test(run_test_4
- "${BASH_PROGRAM}" "${CMAKE_CURRENT_SOURCE_DIR}/test/bin/wrapper"
- "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}"
+ "${BASH_PROGRAM}" "${CMAKE_CURRENT_BINARY_DIR}/test/bin/wrapper"
"${CMAKE_CURRENT_SOURCE_DIR}/test/bin/run_test_4")
endif()
-
-#find_package(MakeDist)
-
-#set(EXTRA_DIST data)
-
-#add_makedist(
-# ${CMAKE_CURRENT_BINARY_DIR}/README
-# ${CMAKE_CURRENT_BINARY_DIR}/LICENSE
-#)
-
-#file(GENERATE OUTPUT ChangeLog2 CONTENT echo)
-execute_process(COMMAND git log OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/ChangeLog2)
-
-# The package configuation (pc) file should be installed in
-# ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig.
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/build/jasper.pc.in
- ${CMAKE_CURRENT_BINARY_DIR}/build/jasper.pc @ONLY)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/build/jasper.pc
- DESTINATION lib/pkgconfig)
-
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/build/jasper.spec.in
- ${CMAKE_CURRENT_BINARY_DIR}/build/jasper.spec @ONLY)
-
diff -r 6767d8d8906b -r 85c004da4dd6 jp2/ChangeLog
--- a/jp2/ChangeLog Sun Jan 01 11:19:55 2023 +0100
+++ b/jp2/ChangeLog Sun Jan 01 16:15:19 2023 +0100
@@ -1,6 +1,757 @@
+commit be67b65abd0b4727b8b98cc12b59218561aefbba
+Author: Michael Adams <[email protected]>
+Date: Fri Dec 9 06:03:04 2016 -0800
+
+ Bumped the version number
+
+M CMakeLists.txt
+
+commit db17951211b0a56359c37a53348ec81cd958cecf
+Author: Michael Adams <[email protected]>
+Date: Fri Dec 9 05:58:50 2016 -0800
+
+ Made some further changes to a private build script.
+
+M build/my_build
+
+commit 0e38d23e342ef2181fa4d7d56d9cc576cc3fbcdc
+Author: Michael Adams <[email protected]>
+Date: Fri Dec 9 05:57:36 2016 -0800
+
+ Added two new regression test cases.
+
+A data/test/bad/heap-out-of-bound-read-due-to-off-by-1-poc.jp2
+A data/test/bad/null-pointer-dereference-poc.jp2
+
+commit 99a50593254d1b53002719bbecfc946c84b23d27
+Author: Michael Adams <[email protected]>
+Date: Fri Dec 9 05:42:39 2016 -0800
+
+ Apply a patch for the following bug report:
+ https://github.com/mdadams/jasper/issues/103