summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Malaterre <mathieu.malaterre@gmail.com>2012-03-27 07:44:28 +0000
committerMathieu Malaterre <mathieu.malaterre@gmail.com>2012-03-27 07:44:28 +0000
commit9642c7f9905fc0e4e3cbebb1f526c686078279a6 (patch)
tree0ad5c074b134d7650922dbf878f65add84e39852
parent0c5193c58850d19cb76fc385c28886d93b448830 (diff)
[trunk] fix compilation on OS where ssize_t is not defined.
-rw-r--r--CMakeLists.txt3
-rw-r--r--libopenjpeg/opj_stdint.h5
-rw-r--r--opj_config.h.cmake.in1
3 files changed, 9 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6f5f66e6..22dff8fd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -209,6 +209,9 @@ IF(BUILD_CODEC OR BUILD_MJ2)
ADD_SUBDIRECTORY(applications)
ENDIF (BUILD_CODEC OR BUILD_MJ2)
+include(CheckTypeSize)
+CHECK_TYPE_SIZE(ssize_t SSIZE_T)
+
#-----------------------------------------------------------------------------
# opj_config.h generation (2/2)
CONFIGURE_FILE("${OPENJPEG_SOURCE_DIR}/opj_config.h.cmake.in"
diff --git a/libopenjpeg/opj_stdint.h b/libopenjpeg/opj_stdint.h
index cf69e910..36731167 100644
--- a/libopenjpeg/opj_stdint.h
+++ b/libopenjpeg/opj_stdint.h
@@ -48,4 +48,9 @@ typedef size_t OPJ_SIZE_T;
/* 64-bit file offset type */
typedef int64_t OPJ_OFF_T;
+#ifndef HAVE_SSIZE_T
+#include <BaseTsd.h>
+typedef SSIZE_T ssize_t;
+#endif
+
#endif /* OPJ_STDINT_H */
diff --git a/opj_config.h.cmake.in b/opj_config.h.cmake.in
index c462429b..e5ac38e4 100644
--- a/opj_config.h.cmake.in
+++ b/opj_config.h.cmake.in
@@ -14,6 +14,7 @@
#cmakedefine HAVE_PNG_H @HAVE_PNG_H@
#cmakedefine HAVE_LIBTIFF @HAVE_LIBTIFF@
#cmakedefine HAVE_TIFF_H @HAVE_TIFF_H@
+#cmakedefine HAVE_SSIZE_T @HAVE_SSIZE_T@
#cmakedefine _LARGEFILE_SOURCE
#cmakedefine _LARGE_FILES