From 9642c7f9905fc0e4e3cbebb1f526c686078279a6 Mon Sep 17 00:00:00 2001
From: Mathieu Malaterre <mathieu.malaterre@gmail.com>
Date: Tue, 27 Mar 2012 07:44:28 +0000
Subject: [PATCH] [trunk] fix compilation on OS where ssize_t is not defined.

---
 CMakeLists.txt           | 3 +++
 libopenjpeg/opj_stdint.h | 5 +++++
 opj_config.h.cmake.in    | 1 +
 3 files changed, 9 insertions(+)

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
-- 
2.40.0