Blame configure.ac

Packit 7838c8
dnl                                               -*- Autoconf -*-
Packit 7838c8
dnl Tag Image File Format (TIFF) Software
Packit 7838c8
dnl
Packit 7838c8
dnl Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
Packit 7838c8
dnl
Packit 7838c8
dnl Permission to use, copy, modify, distribute, and sell this software and 
Packit 7838c8
dnl its documentation for any purpose is hereby granted without fee, provided
Packit 7838c8
dnl that (i) the above copyright notices and this permission notice appear in
Packit 7838c8
dnl all copies of the software and related documentation, and (ii) the names of
Packit 7838c8
dnl Sam Leffler and Silicon Graphics may not be used in any advertising or
Packit 7838c8
dnl publicity relating to the software without the specific, prior written
Packit 7838c8
dnl permission of Sam Leffler and Silicon Graphics.
Packit 7838c8
dnl 
Packit 7838c8
dnl THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
Packit 7838c8
dnl EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
Packit 7838c8
dnl WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
Packit 7838c8
dnl 
Packit 7838c8
dnl IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
Packit 7838c8
dnl ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
Packit 7838c8
dnl OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
Packit 7838c8
dnl WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
Packit 7838c8
dnl LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
Packit 7838c8
dnl OF THIS SOFTWARE.
Packit 7838c8
Packit 7838c8
dnl Process this file with autoconf to produce a configure script.
Packit 7838c8
Packit 7838c8
AC_PREREQ(2.64)
Packit 7838c8
AC_INIT([LibTIFF Software],[4.0.9],[tiff@lists.maptools.org],[tiff])
Packit 7838c8
AC_CONFIG_AUX_DIR(config)
Packit 7838c8
AC_CONFIG_MACRO_DIR(m4)
Packit 7838c8
AC_LANG(C)
Packit 7838c8
Packit 7838c8
dnl Compute the canonical host (run-time) system type variable
Packit 7838c8
AC_CANONICAL_HOST
Packit 7838c8
Packit 7838c8
AM_INIT_AUTOMAKE(tar-pax)
Packit 7838c8
dnl Do not rebuild generated files every time
Packit 7838c8
AM_MAINTAINER_MODE
Packit 7838c8
Packit 7838c8
dnl Versioning.
Packit 7838c8
dnl Don't fill the ALPHA_VERSION field, if not applicable.
Packit 7838c8
LIBTIFF_MAJOR_VERSION=4
Packit 7838c8
LIBTIFF_MINOR_VERSION=0
Packit 7838c8
LIBTIFF_MICRO_VERSION=9
Packit 7838c8
LIBTIFF_ALPHA_VERSION=
Packit 7838c8
LIBTIFF_VERSION=$LIBTIFF_MAJOR_VERSION.$LIBTIFF_MINOR_VERSION.$LIBTIFF_MICRO_VERSION$LIBTIFF_ALPHA_VERSION
Packit 7838c8
dnl This will be used with the 'make release' target
Packit 7838c8
LIBTIFF_RELEASE_DATE=`date +"%Y%m%d"`
Packit 7838c8
Packit 7838c8
dnl Libtool library revision control info
Packit 7838c8
dnl See the libtool documentation under the heading "Libtool's versioning
Packit 7838c8
dnl system" in order to understand the meaning of these fields
Packit 7838c8
dnl
Packit 7838c8
dnl current
Packit 7838c8
dnl      The most recent interface number that this library implements.
Packit 7838c8
dnl revision
Packit 7838c8
dnl      The implementation number of the current interface.
Packit 7838c8
dnl age
Packit 7838c8
dnl      The difference between the newest and oldest interfaces that
Packit 7838c8
dnl      this library implements. In other words, the library implements
Packit 7838c8
dnl      all the interface numbers in the range from number current -
Packit 7838c8
dnl      age to current.
Packit 7838c8
dnl
Packit 7838c8
dnl Here are a set of rules to help you update your library version
Packit 7838c8
dnl information:
Packit 7838c8
dnl
Packit 7838c8
dnl  1. Start with version information of `0:0:0' for each libtool library.
Packit 7838c8
dnl  2. Update the version information only immediately before a public
Packit 7838c8
dnl     release of your software. More frequent updates are unnecessary, and
Packit 7838c8
dnl     only guarantee that the current interface number gets larger faster.
Packit 7838c8
dnl  3. If the library source code has changed at all since the last update,
Packit 7838c8
dnl     then increment revision (`c:r:a' becomes `c:r+1:a').
Packit 7838c8
dnl  4. If any interfaces have been added, removed, or changed since the last
Packit 7838c8
dnl     update, increment current, and set revision to 0.
Packit 7838c8
dnl  5. If any interfaces have been added since the last public release, then
Packit 7838c8
dnl     increment age.
Packit 7838c8
dnl  6. If any interfaces have been removed since the last public release,
Packit 7838c8
dnl     then set age to 0.                                
Packit 7838c8
LIBTIFF_CURRENT=8
Packit 7838c8
LIBTIFF_REVISION=0
Packit 7838c8
LIBTIFF_AGE=3
Packit 7838c8
LIBTIFF_VERSION_INFO=$LIBTIFF_CURRENT:$LIBTIFF_REVISION:$LIBTIFF_AGE
Packit 7838c8
Packit 7838c8
# This is a special hack for OpenBSD and MirOS systems. The dynamic linker
Packit 7838c8
# in OpenBSD uses some special semantics for shared libraries. Their soname
Packit 7838c8
# contains only two numbers, major and minor.
Packit 7838c8
# See http://bugzilla.remotesensing.org/show_bug.cgi?id=838 for details.
Packit 7838c8
#case "$host_os" in
Packit 7838c8
#    openbsd* | mirbsd*)
Packit 7838c8
#	LIBTIFF_VERSION_INFO=$LIBTIFF_MAJOR_VERSION$LIBTIFF_MINOR_VERSION:$LIBTIFF_MICRO_VERSION:0
Packit 7838c8
#	;;
Packit 7838c8
#    *)
Packit 7838c8
#	LIBTIFF_VERSION_INFO=$LIBTIFF_MAJOR_VERSION:$LIBTIFF_MINOR_VERSION:$LIBTIFF_MICRO_VERSION
Packit 7838c8
#	;;
Packit 7838c8
#esac
Packit 7838c8
Packit 7838c8
AC_SUBST(LIBTIFF_MAJOR_VERSION)
Packit 7838c8
AC_SUBST(LIBTIFF_MINOR_VERSION)
Packit 7838c8
AC_SUBST(LIBTIFF_MICRO_VERSION)
Packit 7838c8
AC_SUBST(LIBTIFF_ALPHA_VERSION)
Packit 7838c8
AC_SUBST(LIBTIFF_VERSION)
Packit 7838c8
AC_SUBST(LIBTIFF_VERSION_INFO)
Packit 7838c8
AC_SUBST(LIBTIFF_RELEASE_DATE)
Packit 7838c8
Packit 7838c8
dnl Checks for programs.
Packit 7838c8
AC_PROG_CC
Packit 7838c8
AM_PROG_CC_C_O
Packit 7838c8
Packit 7838c8
dnl We want warnings. As many warnings as possible.
Packit 7838c8
VL_PROG_CC_WARNINGS()
Packit 7838c8
Packit 7838c8
dnl Checks for programs
Packit 7838c8
AC_PROG_INSTALL
Packit 7838c8
AC_PROG_LN_S
Packit 7838c8
# Used only for validating the source distribution during distcheck
Packit 7838c8
AC_PATH_PROG(CMAKE, cmake)
Packit 7838c8
Packit 7838c8
Packit 7838c8
# Check if LD supports linker scripts, and define automake conditional
Packit 7838c8
# HAVE_LD_VERSION_SCRIPT if so.  This functionality is currently
Packit 7838c8
# constrained to compilers using GNU ld on ELF systems or systems
Packit 7838c8
# which provide an adequate emulation thereof.
Packit 7838c8
AC_ARG_ENABLE([ld-version-script],
Packit 7838c8
  AS_HELP_STRING([--enable-ld-version-script],
Packit 7838c8
    [enable linker version script (default is disabled)]),
Packit 7838c8
    [have_ld_version_script=$enableval], [have_ld_version_script=no])
Packit 7838c8
if test "$have_ld_version_script" != no; then
Packit 7838c8
  AC_MSG_CHECKING([if LD -Wl,--version-script works])
Packit 7838c8
  save_LDFLAGS="$LDFLAGS"
Packit 7838c8
  LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
Packit 7838c8
  cat > conftest.map <
Packit 7838c8
VERS_1 {
Packit 7838c8
        global: sym;
Packit 7838c8
};
Packit 7838c8
Packit 7838c8
VERS_2 {
Packit 7838c8
        global: sym;
Packit 7838c8
} VERS_1;
Packit 7838c8
EOF
Packit 7838c8
  AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
Packit 7838c8
                 [have_ld_version_script=yes], [have_ld_version_script=no])
Packit 7838c8
  rm -f conftest.map
Packit 7838c8
  LDFLAGS="$save_LDFLAGS"
Packit 7838c8
  AC_MSG_RESULT($have_ld_version_script)
Packit 7838c8
fi
Packit 7838c8
AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
Packit 7838c8
Packit 7838c8
Packit 7838c8
dnl Tests for Windows
Packit 7838c8
AC_EXEEXT
Packit 7838c8
AC_OBJEXT
Packit 7838c8
Packit 7838c8
dnl initialize libtool
Packit 7838c8
LT_INIT([win32-dll])
Packit 7838c8
LT_LANG([C++])
Packit 7838c8
Packit 7838c8
# Enable support for silent build rules
Packit 7838c8
AM_SILENT_RULES
Packit 7838c8
Packit 7838c8
tiff_libs_private=
Packit 7838c8
AC_SUBST(tiff_libs_private)
Packit 7838c8
Packit 7838c8
dnl We don't need to add math library to all targets
Packit 7838c8
case "${host_os}" in
Packit 7838c8
    cygwin* | mingw32* | beos* | darwin*)
Packit 7838c8
        ;;
Packit 7838c8
    *)
Packit 7838c8
	AC_CHECK_LIB(m,sin,[libm_lib=yes], [libm_lib=no],)
Packit 7838c8
	if test "x$libm_lib" = "xyes" ; then
Packit 7838c8
	  LIBS="-lm $LIBS"
Packit 7838c8
	  tiff_libs_private="-lm ${tiff_libs_private}"
Packit 7838c8
	fi
Packit 7838c8
        ;;
Packit 7838c8
esac
Packit 7838c8
Packit 7838c8
dnl Checks for header files.
Packit 7838c8
AC_CHECK_HEADERS([assert.h fcntl.h io.h limits.h malloc.h search.h sys/time.h unistd.h])
Packit 7838c8
Packit 7838c8
dnl Checks for typedefs, structures, and compiler characteristics.
Packit 7838c8
AC_C_CONST
Packit 7838c8
AC_C_INLINE
Packit 7838c8
AC_C_BIGENDIAN
Packit 7838c8
AC_TYPE_OFF_T
Packit 7838c8
AC_TYPE_SIZE_T
Packit 7838c8
AC_HEADER_TIME
Packit 7838c8
AC_STRUCT_TM
Packit 7838c8
Packit 7838c8
dnl If the `fseeko' function is available, define `HAVE_FSEEKO'. Define
Packit 7838c8
dnl `_LARGEFILE_SOURCE' if necessary.
Packit 7838c8
AC_FUNC_FSEEKO
Packit 7838c8
Packit 7838c8
dnl Check if optarg (and presumably related externs) already declared in headers
Packit 7838c8
AC_CHECK_DECLS([optarg])
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Compute sized types for current CPU and compiler options
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
# Obtain size of an 'signed short' and define as SIZEOF_SIGNED_SHORT
Packit 7838c8
AC_CHECK_SIZEOF(signed short)
Packit 7838c8
Packit 7838c8
# Obtain size of an 'unsigned short' and define as SIZEOF_UNSIGNED_SHORT
Packit 7838c8
AC_CHECK_SIZEOF(unsigned short)
Packit 7838c8
Packit 7838c8
# Obtain size of an 'signed int' and define as SIZEOF_SIGNED_INT
Packit 7838c8
AC_CHECK_SIZEOF(signed int)
Packit 7838c8
Packit 7838c8
# Obtain size of an 'unsigned int' and define as SIZEOF_UNSIGNED_INT
Packit 7838c8
AC_CHECK_SIZEOF(unsigned int)
Packit 7838c8
Packit 7838c8
# Obtain size of a 'signed long' and define as SIZEOF_SIGNED_LONG
Packit 7838c8
AC_CHECK_SIZEOF(signed long)
Packit 7838c8
Packit 7838c8
# Obtain size of a 'unsigned long' and define as SIZEOF_UNSIGNED_LONG
Packit 7838c8
AC_CHECK_SIZEOF(unsigned long)
Packit 7838c8
Packit 7838c8
# Obtain size of a 'long long' and define as SIZEOF_SIGNED_LONG_LONG.
Packit 7838c8
# If 'long long' is not supported then the value defined is zero.
Packit 7838c8
AC_CHECK_SIZEOF(signed long long)
Packit 7838c8
Packit 7838c8
# Obtain size of a 'unsigned long long' and define as
Packit 7838c8
# SIZEOF_UNSIGNED_LONG_LONG.  If 'unsigned long long' is not
Packit 7838c8
# supported then the value defined is zero.
Packit 7838c8
AC_CHECK_SIZEOF(unsigned long long)
Packit 7838c8
Packit 7838c8
# Obtain the size of an 'unsigned char *' and define as
Packit 7838c8
# SIZEOF_UNSIGNED_CHAR_P.  Result is available in
Packit 7838c8
# ac_cv_sizeof_unsigned_char_p.
Packit 7838c8
AC_CHECK_SIZEOF(unsigned char *)
Packit 7838c8
Packit 7838c8
# Obtain the size of 'size_t' and define as SIZEOF_SIZE_T.  Result is
Packit 7838c8
# available in ac_cv_sizeof_size_t
Packit 7838c8
AC_CHECK_SIZEOF([size_t])
Packit 7838c8
Packit 7838c8
AC_MSG_CHECKING(for signed 8-bit type)
Packit 7838c8
INT8_T='signed char'
Packit 7838c8
AC_MSG_RESULT($INT8_T)
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_INT8_T,$INT8_T,[Signed 8-bit type])
Packit 7838c8
Packit 7838c8
AC_MSG_CHECKING(for unsigned 8-bit type)
Packit 7838c8
UINT8_T='unsigned char'
Packit 7838c8
AC_MSG_RESULT($UINT8_T)
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_UINT8_T,$UINT8_T,[Unsigned 8-bit type])
Packit 7838c8
Packit 7838c8
AC_MSG_CHECKING(for signed 16-bit type)
Packit 7838c8
INT16_T='signed short'
Packit 7838c8
AC_MSG_RESULT($INT16_T)
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_INT16_T,$INT16_T,[Signed 16-bit type])
Packit 7838c8
Packit 7838c8
Packit 7838c8
AC_MSG_CHECKING(for unsigned 16-bit type)
Packit 7838c8
UINT16_T='unsigned short'
Packit 7838c8
AC_MSG_RESULT($UINT16_T)
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_UINT16_T,$UINT16_T,[Unsigned 16-bit type])
Packit 7838c8
Packit 7838c8
AC_MSG_CHECKING(for signed 32-bit type)
Packit 7838c8
INT32_T='none'
Packit 7838c8
INT32_FORMAT='none'
Packit 7838c8
if test $ac_cv_sizeof_signed_int -eq 4
Packit 7838c8
then
Packit 7838c8
  INT32_T='signed int'
Packit 7838c8
  INT32_FORMAT='"%d"'
Packit 7838c8
elif test $ac_cv_sizeof_signed_long -eq 4
Packit 7838c8
then
Packit 7838c8
  INT32_T='signed long'
Packit 7838c8
  INT32_FORMAT='"%ld"'
Packit 7838c8
fi
Packit 7838c8
AC_MSG_RESULT($INT32_T)
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_INT32_T,$INT32_T,[Signed 32-bit type])
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_INT32_FORMAT,$INT32_FORMAT,[Signed 32-bit type formatter])
Packit 7838c8
Packit 7838c8
AC_MSG_CHECKING(for unsigned 32-bit type)
Packit 7838c8
UINT32_T='none'
Packit 7838c8
UINT32_FORMAT='none'
Packit 7838c8
if test $ac_cv_sizeof_unsigned_int -eq 4
Packit 7838c8
then
Packit 7838c8
  UINT32_T='unsigned int'
Packit 7838c8
  UINT32_FORMAT='"%u"'
Packit 7838c8
elif test $ac_cv_sizeof_unsigned_long -eq 4
Packit 7838c8
then
Packit 7838c8
  UINT32_T='unsigned long'
Packit 7838c8
  UINT32_FORMAT='"%lu"'
Packit 7838c8
fi
Packit 7838c8
AC_MSG_RESULT($UINT32_T)
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_UINT32_T,$UINT32_T,[Unsigned 32-bit type])
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_UINT32_FORMAT,$UINT32_FORMAT,[Unsigned 32-bit type formatter])
Packit 7838c8
Packit 7838c8
AC_MSG_CHECKING(for signed 64-bit type)
Packit 7838c8
INT64_T='none'
Packit 7838c8
INT64_FORMAT='none'
Packit 7838c8
if test $ac_cv_sizeof_signed_long -eq 8
Packit 7838c8
then
Packit 7838c8
  INT64_T='signed long'
Packit 7838c8
  INT64_FORMAT='"%ld"'
Packit 7838c8
elif test $ac_cv_sizeof_signed_long_long -eq 8
Packit 7838c8
then
Packit 7838c8
  INT64_T='signed long long'
Packit 7838c8
  case "${host_os}" in
Packit 7838c8
    mingw32*)
Packit 7838c8
      # MinGW32 understands 'long long', but uses printf from WIN32 CRT
Packit 7838c8
      INT64_FORMAT='"%I64d"'
Packit 7838c8
      ;;
Packit 7838c8
    *)
Packit 7838c8
      INT64_FORMAT='"%lld"'
Packit 7838c8
      ;;
Packit 7838c8
  esac
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
Packit 7838c8
AC_MSG_RESULT($INT64_T)
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_INT64_T,$INT64_T,[Signed 64-bit type])
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_INT64_FORMAT,$INT64_FORMAT,[Signed 64-bit type formatter])
Packit 7838c8
Packit 7838c8
AC_MSG_CHECKING(for unsigned 64-bit type)
Packit 7838c8
UINT64_T='none'
Packit 7838c8
UINT64_FORMAT='none'
Packit 7838c8
if test $ac_cv_sizeof_unsigned_long -eq 8
Packit 7838c8
then
Packit 7838c8
  UINT64_T='unsigned long'
Packit 7838c8
  UINT64_FORMAT='"%lu"'
Packit 7838c8
elif test $ac_cv_sizeof_unsigned_long_long -eq 8
Packit 7838c8
then
Packit 7838c8
  UINT64_T='unsigned long long'
Packit 7838c8
  case "${host_os}" in
Packit 7838c8
    mingw32*)
Packit 7838c8
      # MinGW32 understands 'unsigned long long', but uses printf from WIN32 CRT
Packit 7838c8
      UINT64_FORMAT='"%I64u"'
Packit 7838c8
      ;;
Packit 7838c8
    *)
Packit 7838c8
      UINT64_FORMAT='"%llu"'
Packit 7838c8
      ;;
Packit 7838c8
  esac
Packit 7838c8
fi
Packit 7838c8
AC_MSG_RESULT($UINT64_T)
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_UINT64_T,$UINT64_T,[Unsigned 64-bit type])
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_UINT64_FORMAT,$UINT64_FORMAT,[Unsigned 64-bit type formatter])
Packit 7838c8
Packit 7838c8
# Determine formatting specifier for 'size_t'.  While the size should
Packit 7838c8
# be precise, the type determined may not match the system definition.
Packit 7838c8
# A named type is provided to allow casting to the type we determined
Packit 7838c8
# without changing the actual size.
Packit 7838c8
AC_MSG_CHECKING([for 'size_t' format specifier])
Packit 7838c8
SIZE_T='unknown'
Packit 7838c8
SIZE_FORMAT='unknown'
Packit 7838c8
if test $ac_cv_sizeof_unsigned_int -eq $ac_cv_sizeof_size_t
Packit 7838c8
then
Packit 7838c8
  SIZE_T='unsigned int'
Packit 7838c8
  SIZE_FORMAT='"%u"'
Packit 7838c8
elif test $ac_cv_sizeof_unsigned_long -eq $ac_cv_sizeof_size_t
Packit 7838c8
then
Packit 7838c8
  SIZE_T='unsigned long'
Packit 7838c8
  SIZE_FORMAT='"%lu"'
Packit 7838c8
elif test $ac_cv_sizeof_unsigned_long_long -eq $ac_cv_sizeof_size_t
Packit 7838c8
then
Packit 7838c8
  SIZE_T='unsigned long long'
Packit 7838c8
  case "${host_os}" in
Packit 7838c8
    mingw32*)
Packit 7838c8
      # MinGW32 understands 'unsigned long long', but uses printf from WIN32 CRT
Packit 7838c8
      SIZE_FORMAT='"%I64u"'
Packit 7838c8
      ;;
Packit 7838c8
    *)
Packit 7838c8
      SIZE_FORMAT='"%llu"'
Packit 7838c8
      ;;
Packit 7838c8
  esac
Packit 7838c8
fi
Packit 7838c8
AC_MSG_RESULT([$SIZE_FORMAT])
Packit 7838c8
AC_DEFINE_UNQUOTED([TIFF_SIZE_T],[$SIZE_T],[Unsigned size type])
Packit 7838c8
AC_DEFINE_UNQUOTED([TIFF_SIZE_FORMAT],[$SIZE_FORMAT],[Size type formatter])
Packit 7838c8
Packit 7838c8
# Determine TIFF equivalent of ssize_t
Packit 7838c8
AC_MSG_CHECKING(for signed size type)
Packit 7838c8
SSIZE_T='unknown'
Packit 7838c8
SSIZE_FORMAT='unknown'
Packit 7838c8
if test $ac_cv_sizeof_signed_int -eq $ac_cv_sizeof_unsigned_char_p
Packit 7838c8
then
Packit 7838c8
  SSIZE_T='signed int'
Packit 7838c8
  SSIZE_FORMAT='"%d"'
Packit 7838c8
elif test $ac_cv_sizeof_signed_long -eq $ac_cv_sizeof_unsigned_char_p
Packit 7838c8
then
Packit 7838c8
  SSIZE_T='signed long'
Packit 7838c8
  SSIZE_FORMAT='"%ld"'
Packit 7838c8
elif test $ac_cv_sizeof_signed_long_long -eq $ac_cv_sizeof_unsigned_char_p
Packit 7838c8
then
Packit 7838c8
  SSIZE_T='signed long long'
Packit 7838c8
  case "${host_os}" in
Packit 7838c8
    mingw32*)
Packit 7838c8
      # MinGW32 understands 'long long', but uses printf from WIN32 CRT
Packit 7838c8
      SSIZE_FORMAT='"%I64d"'
Packit 7838c8
      ;;
Packit 7838c8
    *)
Packit 7838c8
      SSIZE_FORMAT='"%lld"'
Packit 7838c8
      ;;
Packit 7838c8
  esac
Packit 7838c8
fi
Packit 7838c8
AC_MSG_RESULT($SSIZE_T)
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_SSIZE_T,$SSIZE_T,[Signed size type])
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_SSIZE_FORMAT,$SSIZE_FORMAT,[Signed size type formatter])
Packit 7838c8
Packit 7838c8
# Determine the type to use for the difference between two pointers.
Packit 7838c8
# We will default to the POSIX ptrdiff_t if it is available, but will
Packit 7838c8
# be prepared for the case when it is not.
Packit 7838c8
PTRDIFF_T='unknown'
Packit 7838c8
PTRDIFF_FORMAT='"%ld"'
Packit 7838c8
AC_CHECK_TYPE(ptrdiff_t,[PTRDIFF_T=ptrdiff_t])
Packit 7838c8
if test $PTRDIFF_T = unknown
Packit 7838c8
then
Packit 7838c8
  PTRDIFF_T=$SSIZE_T
Packit 7838c8
  PTRDIFF_FORMAT=$SSIZE_FORMAT
Packit 7838c8
fi
Packit 7838c8
AC_MSG_CHECKING(for pointer difference type)
Packit 7838c8
AC_MSG_RESULT($PTRDIFF_T)
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_PTRDIFF_T,$PTRDIFF_T,[Pointer difference type])
Packit 7838c8
AC_DEFINE_UNQUOTED(TIFF_PTRDIFF_FORMAT,$PTRDIFF_FORMAT,[Pointer difference type formatter])
Packit 7838c8
Packit 7838c8
dnl Some compilers (IBM VisualAge) has these types defined, so check it here:
Packit 7838c8
AC_CHECK_TYPES([int8, int16, int32],,,
Packit 7838c8
[
Packit 7838c8
#if HAVE_INTTYPES_H
Packit 7838c8
# include <inttypes.h>
Packit 7838c8
#endif
Packit 7838c8
])
Packit 7838c8
Packit 7838c8
dnl Checks for library functions.
Packit 7838c8
AC_CHECK_FUNCS([floor isascii memmove memset mmap pow setmode snprintf sqrt \
Packit 7838c8
strchr strrchr strstr strtol strtoul strtoull])
Packit 7838c8
Packit 7838c8
dnl Will use local replacements for unavailable functions
Packit 7838c8
AC_REPLACE_FUNCS(getopt)
Packit 7838c8
AC_REPLACE_FUNCS(snprintf)
Packit 7838c8
AC_REPLACE_FUNCS(strcasecmp)
Packit 7838c8
AC_REPLACE_FUNCS(strtoul)
Packit 7838c8
AC_REPLACE_FUNCS(strtoull)
Packit 7838c8
AC_REPLACE_FUNCS(lfind)
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check the native cpu bit order.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
AC_MSG_CHECKING([native cpu bit order])
Packit 7838c8
case "$host_cpu" in
Packit 7838c8
    i*86*|x86_64*)
Packit 7838c8
        HOST_FILLORDER=FILLORDER_LSB2MSB
Packit 7838c8
	AC_MSG_RESULT([lsb2msb])
Packit 7838c8
	;;
Packit 7838c8
    *)
Packit 7838c8
	HOST_FILLORDER=FILLORDER_MSB2LSB
Packit 7838c8
	AC_MSG_RESULT([msb2lsb])
Packit 7838c8
        ;;
Packit 7838c8
esac
Packit 7838c8
AC_DEFINE_UNQUOTED(HOST_FILLORDER, $HOST_FILLORDER, [Set the native cpu bit order (FILLORDER_LSB2MSB or FILLORDER_MSB2LSB)])
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Configure legacy tifconf.h HOST_BIGENDIAN.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
if test "$ac_cv_c_bigendian" = yes ; then
Packit 7838c8
    HOST_BIGENDIAN=1
Packit 7838c8
else
Packit 7838c8
    HOST_BIGENDIAN=0
Packit 7838c8
fi
Packit 7838c8
AC_DEFINE_UNQUOTED(HOST_BIGENDIAN,$HOST_BIGENDIAN,[Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian (Intel)])
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Make the POSIX.2 features available.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
#_POSIX_C_SOURCE=2
Packit 7838c8
#AC_DEFINE_UNQUOTED(_POSIX_C_SOURCE, $_POSIX_C_SOURCE, [Define this macro to a positive integer to control which POSIX functionality is made available.])
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Set the floating point format.
Packit 7838c8
dnl FIXME: write appropriate test.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
HAVE_IEEEFP=1
Packit 7838c8
AC_DEFINE_UNQUOTED(HAVE_IEEEFP, $HAVE_IEEEFP, [Define as 0 or 1 according to the floating point format suported by the machine])
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Enable run-time paths to libraries usage.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(rpath,
Packit 7838c8
	      AS_HELP_STRING([--enable-rpath],
Packit 7838c8
			     [Enable runtime linker paths (-R libtool option)]),
Packit 7838c8
	      [HAVE_RPATH=$enableval], [HAVE_RPATH=no])
Packit 7838c8
AM_CONDITIONAL(HAVE_RPATH, test "$HAVE_RPATH" = "yes")
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Support large files.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_SYS_LARGEFILE
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Point to path where we should install documentation.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
LIBTIFF_DOCDIR=\${prefix}/share/doc/${PACKAGE}-${LIBTIFF_VERSION}
Packit 7838c8
Packit 7838c8
AC_ARG_WITH(docdir,
Packit 7838c8
	    AS_HELP_STRING([--with-docdir=DIR],
Packit 7838c8
			   [directory where documentation should be installed]),,)
Packit 7838c8
if test "x$with_docdir" != "x" ; then
Packit 7838c8
  LIBTIFF_DOCDIR=$with_docdir
Packit 7838c8
fi
Packit 7838c8
 
Packit 7838c8
AC_SUBST(LIBTIFF_DOCDIR)
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Switch on/off internal codecs.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(ccitt,
Packit 7838c8
	      AS_HELP_STRING([--disable-ccitt],
Packit 7838c8
			     [disable support for CCITT Group 3 & 4 algorithms]),
Packit 7838c8
	      [HAVE_CCITT=$enableval], [HAVE_CCITT=yes])
Packit 7838c8
Packit 7838c8
if test "$HAVE_CCITT" = "yes" ; then
Packit 7838c8
  AC_DEFINE(CCITT_SUPPORT,1,[Support CCITT Group 3 & 4 algorithms])
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(packbits,
Packit 7838c8
	      AS_HELP_STRING([--disable-packbits],
Packit 7838c8
			     [disable support for Macintosh PackBits algorithm]),
Packit 7838c8
	      [HAVE_PACKBITS=$enableval], [HAVE_PACKBITS=yes])
Packit 7838c8
Packit 7838c8
if test "$HAVE_PACKBITS" = "yes" ; then
Packit 7838c8
  AC_DEFINE(PACKBITS_SUPPORT,1,[Support Macintosh PackBits algorithm])
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(lzw,
Packit 7838c8
	      AS_HELP_STRING([--disable-lzw],
Packit 7838c8
			     [disable support for LZW algorithm]),
Packit 7838c8
	      [HAVE_LZW=$enableval], [HAVE_LZW=yes])
Packit 7838c8
Packit 7838c8
if test "$HAVE_LZW" = "yes" ; then
Packit 7838c8
  AC_DEFINE(LZW_SUPPORT,1,[Support LZW algorithm])
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(thunder,
Packit 7838c8
	      AS_HELP_STRING([--disable-thunder],
Packit 7838c8
			     [disable support for ThunderScan 4-bit RLE algorithm]),
Packit 7838c8
	      [HAVE_THUNDER=$enableval], [HAVE_THUNDER=yes])
Packit 7838c8
Packit 7838c8
if test "$HAVE_THUNDER" = "yes" ; then
Packit 7838c8
  AC_DEFINE(THUNDER_SUPPORT,1,[Support ThunderScan 4-bit RLE algorithm])
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
HAVE_NEXT=yes
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(next,
Packit 7838c8
	      AS_HELP_STRING([--disable-next],
Packit 7838c8
			     [disable support for NeXT 2-bit RLE algorithm]),
Packit 7838c8
	      [HAVE_NEXT=$enableval], [HAVE_NEXT=yes])
Packit 7838c8
Packit 7838c8
if test "$HAVE_NEXT" = "yes" ; then
Packit 7838c8
  AC_DEFINE(NEXT_SUPPORT,1,[Support NeXT 2-bit RLE algorithm])
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(logluv,
Packit 7838c8
	      AS_HELP_STRING([--disable-logluv],
Packit 7838c8
			     [disable support for LogLuv high dynamic range encoding]),
Packit 7838c8
	      [HAVE_LOGLUV=$enableval], [HAVE_LOGLUV=yes])
Packit 7838c8
Packit 7838c8
if test "$HAVE_LOGLUV" = "yes" ; then
Packit 7838c8
  AC_DEFINE(LOGLUV_SUPPORT,1,[Support LogLuv high dynamic range encoding])
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Switch on/off support for Microsoft Document Imaging
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(mdi,
Packit 7838c8
	      AS_HELP_STRING([--disable-mdi],
Packit 7838c8
			     [disable support for Microsoft Document Imaging]),
Packit 7838c8
	      [HAVE_MDI=$enableval], [HAVE_MDI=yes])
Packit 7838c8
Packit 7838c8
if test "$HAVE_MDI" = "yes" ; then
Packit 7838c8
  AC_DEFINE(MDI_SUPPORT,1,[Support Microsoft Document Imaging format])
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check for ZLIB.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
HAVE_ZLIB=no
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(zlib,
Packit 7838c8
	      AS_HELP_STRING([--disable-zlib],
Packit 7838c8
			     [disable Zlib usage (required for Deflate compression, enabled by default)]),,)
Packit 7838c8
AC_ARG_WITH(zlib-include-dir,
Packit 7838c8
	    AS_HELP_STRING([--with-zlib-include-dir=DIR],
Packit 7838c8
			   [location of Zlib headers]),,)
Packit 7838c8
AC_ARG_WITH(zlib-lib-dir,
Packit 7838c8
	    AS_HELP_STRING([--with-zlib-lib-dir=DIR],
Packit 7838c8
			   [location of Zlib library binary]),,)
Packit 7838c8
Packit 7838c8
if test "x$enable_zlib" != "xno" ; then
Packit 7838c8
Packit 7838c8
  if test "x$with_zlib_lib_dir" != "x" ; then
Packit 7838c8
    LDFLAGS="-L$with_zlib_lib_dir $LDFLAGS"
Packit 7838c8
  fi
Packit 7838c8
  
Packit 7838c8
  AC_CHECK_LIB(z, inflateEnd, [zlib_lib=yes], [zlib_lib=no],)
Packit 7838c8
  if test "$zlib_lib" = "no" -a "x$with_zlib_lib_dir" != "x"; then
Packit 7838c8
    AC_MSG_ERROR([Zlib library not found at $with_zlib_lib_dir])
Packit 7838c8
  fi
Packit 7838c8
    
Packit 7838c8
  if test "x$with_zlib_include_dir" != "x" ; then
Packit 7838c8
    CPPFLAGS="-I$with_zlib_include_dir $CPPFLAGS"
Packit 7838c8
  fi
Packit 7838c8
  AC_CHECK_HEADER(zlib.h, [zlib_h=yes], [zlib_h=no])
Packit 7838c8
  if test "$zlib_h" = "no" -a "x$with_zlib_include_dir" != "x" ; then
Packit 7838c8
    AC_MSG_ERROR([Zlib headers not found at $with_zlib_include_dir])
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
  if test "$zlib_lib" = "yes" -a "$zlib_h" = "yes" ; then
Packit 7838c8
    HAVE_ZLIB=yes
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
if test "$HAVE_ZLIB" = "yes" ; then
Packit 7838c8
  AC_DEFINE(ZIP_SUPPORT,1,[Support Deflate compression])
Packit 7838c8
  LIBS="-lz $LIBS"
Packit 7838c8
  tiff_libs_private="-lz ${tiff_libs_private}"
Packit 7838c8
Packit 7838c8
  if test "$HAVE_RPATH" = "yes" -a "x$with_zlib_lib_dir" != "x" ; then
Packit 7838c8
    LIBDIR="-R $with_zlib_lib_dir $LIBDIR"
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check for Pixar log-format algorithm.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(pixarlog,
Packit 7838c8
	      AS_HELP_STRING([--disable-pixarlog],
Packit 7838c8
			     [disable support for Pixar log-format algorithm (requires Zlib)]),
Packit 7838c8
	      [HAVE_PIXARLOG=$enableval], [HAVE_PIXARLOG=yes])
Packit 7838c8
Packit 7838c8
if test "$HAVE_ZLIB" = "yes" -a "$HAVE_PIXARLOG" = "yes" ; then
Packit 7838c8
  AC_DEFINE(PIXARLOG_SUPPORT, 1,
Packit 7838c8
	    [Support Pixar log-format algorithm (requires Zlib)])
Packit 7838c8
else
Packit 7838c8
  HAVE_PIXARLOG=no
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check for JPEG.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
HAVE_JPEG=no
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(jpeg,
Packit 7838c8
	      AS_HELP_STRING([--disable-jpeg],
Packit 7838c8
			     [disable IJG JPEG library usage (required for JPEG compression, enabled by default)]),,)
Packit 7838c8
AC_ARG_WITH(jpeg-include-dir,
Packit 7838c8
	    AS_HELP_STRING([--with-jpeg-include-dir=DIR],
Packit 7838c8
			   [location of IJG JPEG library headers]),,)
Packit 7838c8
AC_ARG_WITH(jpeg-lib-dir,
Packit 7838c8
	    AS_HELP_STRING([--with-jpeg-lib-dir=DIR],
Packit 7838c8
			   [location of IJG JPEG library binary]),,)
Packit 7838c8
Packit 7838c8
if test "x$enable_jpeg" != "xno" ; then
Packit 7838c8
Packit 7838c8
  if test "x$with_jpeg_lib_dir" != "x" ; then
Packit 7838c8
    LDFLAGS="-L$with_jpeg_lib_dir $LDFLAGS"
Packit 7838c8
  
Packit 7838c8
  fi
Packit 7838c8
  
Packit 7838c8
  AC_CHECK_LIB(jpeg, jpeg_read_scanlines, [jpeg_lib=yes], [jpeg_lib=no],)
Packit 7838c8
  if test "$jpeg_lib" = "no" -a "x$with_jpeg_lib_dir" != "x" ; then
Packit 7838c8
    AC_MSG_ERROR([IJG JPEG library not found at $with_jpeg_lib_dir])
Packit 7838c8
  fi
Packit 7838c8
    
Packit 7838c8
  if test "x$with_jpeg_include_dir" != "x" ; then
Packit 7838c8
    CPPFLAGS="-I$with_jpeg_include_dir $CPPFLAGS"
Packit 7838c8
  fi
Packit 7838c8
  AC_CHECK_HEADER(jpeglib.h, [jpeg_h=yes], [jpeg_h=no])
Packit 7838c8
  if test "$jpeg_h" = "no" -a "x$with_jpeg_include_dir" != "x" ; then
Packit 7838c8
    AC_MSG_ERROR([IJG JPEG library headers not found at $with_jpeg_include_dir])
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
  if test "$jpeg_lib" = "yes" -a "$jpeg_h" = "yes" ; then
Packit 7838c8
    HAVE_JPEG=yes
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
if test "$HAVE_JPEG" = "yes" ; then
Packit 7838c8
  AC_DEFINE(JPEG_SUPPORT,1,[Support JPEG compression (requires IJG JPEG library)])
Packit 7838c8
  LIBS="-ljpeg $LIBS"
Packit 7838c8
  tiff_libs_private="-ljpeg ${tiff_libs_private}"
Packit 7838c8
Packit 7838c8
  if test "$HAVE_RPATH" = "yes" -a "x$with_jpeg_lib_dir" != "x" ; then
Packit 7838c8
    LIBDIR="-R $with_jpeg_lib_dir $LIBDIR"
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
AM_CONDITIONAL(HAVE_JPEG, test "$HAVE_JPEG" = 'yes')
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check for Old JPEG.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(old-jpeg,
Packit 7838c8
	      AS_HELP_STRING([--disable-old-jpeg],
Packit 7838c8
			     [disable support for Old JPEG compresson (read-only, enabled by default)]),
Packit 7838c8
	      [HAVE_OJPEG=${enableval}], [HAVE_OJPEG=yes])
Packit 7838c8
Packit 7838c8
if test "$HAVE_JPEG" = "yes" -a "$HAVE_OJPEG" = "yes" ; then
Packit 7838c8
  AC_DEFINE(OJPEG_SUPPORT, 1,
Packit 7838c8
	    [Support Old JPEG compresson (read-only)])
Packit 7838c8
else
Packit 7838c8
  HAVE_OJPEG=no
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check for JBIG-KIT.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
HAVE_JBIG=no
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(jbig,
Packit 7838c8
	      AS_HELP_STRING([--disable-jbig],
Packit 7838c8
			     [disable JBIG-KIT usage (required for ISO JBIG compression, enabled by default)]),,)
Packit 7838c8
AC_ARG_WITH(jbig-include-dir,
Packit 7838c8
	    AS_HELP_STRING([--with-jbig-include-dir=DIR],
Packit 7838c8
			   [location of JBIG-KIT headers]),,)
Packit 7838c8
AC_ARG_WITH(jbig-lib-dir,
Packit 7838c8
	    AS_HELP_STRING([--with-jbig-lib-dir=DIR],
Packit 7838c8
			   [location of JBIG-KIT library binary]),,)
Packit 7838c8
Packit 7838c8
if test "x$enable_jbig" != "xno" ; then
Packit 7838c8
Packit 7838c8
  if test "x$with_jbig_lib_dir" != "x" ; then
Packit 7838c8
    LDFLAGS="-L$with_jbig_lib_dir $LDFLAGS"
Packit 7838c8
  
Packit 7838c8
  fi
Packit 7838c8
  
Packit 7838c8
  AC_CHECK_LIB(jbig, jbg_dec_init, [jbig_lib=yes], [jbig_lib=no],)
Packit 7838c8
  if test "$jbig_lib" = "no" -a "x$with_jbig_lib_dir" != "x" ; then
Packit 7838c8
    AC_MSG_ERROR([JBIG-KIT library not found at $with_jbig_lib_dir])
Packit 7838c8
  fi
Packit 7838c8
    
Packit 7838c8
  if test "x$with_jbig_include_dir" != "x" ; then
Packit 7838c8
    CPPFLAGS="-I$with_jbig_include_dir $CPPFLAGS"
Packit 7838c8
  fi
Packit 7838c8
  AC_CHECK_HEADER(jbig.h, [jbig_h=yes], [jbig_h=no])
Packit 7838c8
  if test "$jbig_h" = "no" -a "x$with_jbig_include_dir" != "x" ; then
Packit 7838c8
    AC_MSG_ERROR([JBIG-KIT library headers not found at $with_jbig_include_dir])
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
  if test "$jbig_lib" = "yes" -a "$jbig_h" = "yes" ; then
Packit 7838c8
    HAVE_JBIG=yes
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
if test "$HAVE_JBIG" = "yes" ; then
Packit 7838c8
  AC_DEFINE(JBIG_SUPPORT,1,[Support ISO JBIG compression (requires JBIG-KIT library)])
Packit 7838c8
  LIBS="-ljbig $LIBS"
Packit 7838c8
  tiff_libs_private="-ljbig ${tiff_libs_private}"
Packit 7838c8
Packit 7838c8
  if test "$HAVE_RPATH" = "yes" -a "x$with_jbig_lib_dir" != "x" ; then
Packit 7838c8
    LIBDIR="-R $with_jbig_lib_dir $LIBDIR"
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
  # Older versions of jbigkit lack jbg_newlen
Packit 7838c8
  AC_CHECK_FUNCS([jbg_newlen])
Packit 7838c8
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
AM_CONDITIONAL(HAVE_JBIG, test "$HAVE_JBIG" = 'yes')
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check for liblzma2.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
HAVE_LZMA=no
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(lzma,
Packit 7838c8
	      AS_HELP_STRING([--disable-lzma],
Packit 7838c8
			     [disable liblzma usage (required for LZMA2 compression, enabled by default)]),,)
Packit 7838c8
AC_ARG_WITH(lzma-include-dir,
Packit 7838c8
	    AS_HELP_STRING([--with-lzma-include-dir=DIR],
Packit 7838c8
			   [location of liblzma headers]),,)
Packit 7838c8
AC_ARG_WITH(lzma-lib-dir,
Packit 7838c8
	    AS_HELP_STRING([--with-lzma-lib-dir=DIR],
Packit 7838c8
			   [location of liblzma library binary]),,)
Packit 7838c8
Packit 7838c8
if test "x$enable_lzma" != "xno" ; then
Packit 7838c8
Packit 7838c8
  if test "x$with_lzma_lib_dir" != "x" ; then
Packit 7838c8
    LDFLAGS="-L$with_lzma_lib_dir $LDFLAGS"
Packit 7838c8
  fi
Packit 7838c8
  
Packit 7838c8
  AC_CHECK_LIB(lzma, lzma_code, [lzma_lib=yes], [lzma_lib=no],)
Packit 7838c8
  if test "$lzma_lib" = "no" -a "x$with_lzma_lib_dir" != "x"; then
Packit 7838c8
    AC_MSG_ERROR([lzma library not found at $with_lzma_lib_dir])
Packit 7838c8
  fi
Packit 7838c8
    
Packit 7838c8
  if test "x$with_lzma_include_dir" != "x" ; then
Packit 7838c8
    CPPFLAGS="-I$with_lzma_include_dir $CPPFLAGS"
Packit 7838c8
  fi
Packit 7838c8
  AC_CHECK_HEADER(lzma.h, [lzma_h=yes], [lzma_h=no])
Packit 7838c8
  if test "$lzma_h" = "no" -a "x$with_lzma_include_dir" != "x" ; then
Packit 7838c8
    AC_MSG_ERROR([Liblzma headers not found at $with_lzma_include_dir])
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
  if test "$lzma_lib" = "yes" -a "$lzma_h" = "yes" ; then
Packit 7838c8
    HAVE_LZMA=yes
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
if test "$HAVE_LZMA" = "yes" ; then
Packit 7838c8
  AC_DEFINE(LZMA_SUPPORT,1,[Support LZMA2 compression])
Packit 7838c8
  LIBS="-llzma $LIBS"
Packit 7838c8
  tiff_libs_private="-llzma ${tiff_libs_private}"
Packit 7838c8
Packit 7838c8
  if test "$HAVE_RPATH" = "yes" -a "x$with_lzma_lib_dir" != "x" ; then
Packit 7838c8
    LIBDIR="-R $with_lzma_lib_dir $LIBDIR"
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
AM_CONDITIONAL(HAVE_LZMA, test "$HAVE_LZMA" = 'yes')
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Should 8/12 bit jpeg mode be enabled?
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
HAVE_JPEG12=no
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(jpeg12,
Packit 7838c8
	      AS_HELP_STRING([--enable-jpeg12],
Packit 7838c8
			     [enable libjpeg 8/12bit dual mode]),,)
Packit 7838c8
AC_ARG_WITH(jpeg12-include-dir,
Packit 7838c8
	    AS_HELP_STRING([--with-jpeg12-include-dir=DIR],
Packit 7838c8
			   [location of libjpeg 12bit headers]),,)
Packit 7838c8
AC_ARG_WITH(jpeg12-lib,
Packit 7838c8
	    AS_HELP_STRING([--with-jpeg12-lib=LIBRARY],
Packit 7838c8
			   [path to libjpeg 12bit library]),,)
Packit 7838c8
Packit 7838c8
if test "x$enable_jpeg12" = "xyes" ; then
Packit 7838c8
Packit 7838c8
  if test "x$with_jpeg12_lib" != "x" ; then
Packit 7838c8
    LIBS="$with_jpeg12_lib $LIBS"
Packit 7838c8
  fi
Packit 7838c8
  
Packit 7838c8
  HAVE_JPEG12=yes
Packit 7838c8
Packit 7838c8
  AC_DEFINE(JPEG_DUAL_MODE_8_12,1,[8/12 bit libjpeg dual mode enabled])
Packit 7838c8
  if test "x$with_jpeg12_include_dir" != "x" ; then
Packit 7838c8
    AC_DEFINE_UNQUOTED(LIBJPEG_12_PATH,"$with_jpeg12_include_dir/jpeglib.h",[12bit libjpeg primary include file with path])
Packit 7838c8
  fi
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check for C++.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(cxx,
Packit 7838c8
	      AS_HELP_STRING([--enable-cxx],
Packit 7838c8
			     [enable C++ stream API building (requires C++ compiler)]),
Packit 7838c8
	      [HAVE_CXX=$enableval], [HAVE_CXX=yes])
Packit 7838c8
Packit 7838c8
if test "$HAVE_CXX" = "yes" ; then
Packit 7838c8
  AC_DEFINE(CXX_SUPPORT, 1, [Support C++ stream API (requires C++ compiler)])
Packit 7838c8
else
Packit 7838c8
  HAVE_CXX=no
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
AM_CONDITIONAL(HAVE_CXX, test "$HAVE_CXX" = "yes")
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check for OpenGL and GLUT.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
HAVE_OPENGL=no
Packit 7838c8
Packit 7838c8
Packit 7838c8
AC_PATH_XTRA
Packit 7838c8
Packit 7838c8
dnl AX_CHECK_GL sets GL_CFLAGS & GL_LIBS.  Also PTHREAD_LIBS,
Packit 7838c8
dnl PTHREAD_CFLAGS, & PTHREAD_CC as a side-effect
Packit 7838c8
AX_CHECK_GL
Packit 7838c8
Packit 7838c8
dnl AX_CHECK_GLU sets GLU_CFLAGS & GLU_LIBS
Packit 7838c8
AX_CHECK_GLU
Packit 7838c8
Packit 7838c8
dnl AX_CHECK_GLUT sets GLUT_CFLAGS & GLUT_LIBS
Packit 7838c8
AX_CHECK_GLUT
Packit 7838c8
Packit 7838c8
if test "$no_x" != "yes" -a "$no_gl" != "yes" \
Packit 7838c8
	-a "$no_glu" != "yes" -a "$no_glut" != "yes" ; then
Packit 7838c8
  HAVE_OPENGL=yes
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
AM_CONDITIONAL(HAVE_OPENGL, test "$HAVE_OPENGL" = "yes")
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check for Win32 IO: make sure we have windows.h but not cygwin
Packit 7838c8
dnl this must be after the ogl test, since that looks for windows.h and we
Packit 7838c8
dnl test it
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(win32-io,
Packit 7838c8
	      AS_HELP_STRING([--disable-win32-io],
Packit 7838c8
			     [disable Win32 I/O (Windows only, enabled by default except for Cygwin)]),,)
Packit 7838c8
Packit 7838c8
win32_io_ok=no
Packit 7838c8
case "${host_os}" in
Packit 7838c8
    cygwin*)
Packit 7838c8
        if test x"$ac_cv_header_windows_h" = xyes -a "x$enable_win32_io" = xyes ; then 
Packit 7838c8
            win32_io_ok=yes
Packit 7838c8
	fi
Packit 7838c8
        ;;
Packit 7838c8
    *)
Packit 7838c8
        if test x"$ac_cv_header_windows_h" = xyes -a ! "x$enable_win32_io" = xno ; then 
Packit 7838c8
            win32_io_ok=yes
Packit 7838c8
	fi
Packit 7838c8
        ;;
Packit 7838c8
esac
Packit 7838c8
Packit 7838c8
if test "$win32_io_ok" = "yes" ; then
Packit 7838c8
    AC_DEFINE(USE_WIN32_FILEIO,1,[define to use win32 IO system])
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
AM_CONDITIONAL([WIN32_IO], [test "$win32_io_ok" = yes])
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check for X Athena Widgets
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
dnl HAVE_XAW=no
Packit 7838c8
Packit 7838c8
dnl ICE_FIND_ATHENA
Packit 7838c8
Packit 7838c8
dnl if test "$no_xaw" != "yes" ; then
Packit 7838c8
dnl   HAVE_XAW=yes
Packit 7838c8
dnl fi
Packit 7838c8
Packit 7838c8
dnl AM_CONDITIONAL(HAVE_XAW, test "$HAVE_XAW" = "yes")
Packit 7838c8
Packit 7838c8
dnl ===========================================================================
Packit 7838c8
dnl ``Orthogonal Features''
Packit 7838c8
dnl ===========================================================================
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Default handling of strip chopping support.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(strip-chopping,
Packit 7838c8
	      AS_HELP_STRING([--disable-strip-chopping],
Packit 7838c8
			     [disable support for strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of specified size to reduce memory usage)]),
Packit 7838c8
	      [HAVE_STRIPCHOP=$enableval], [HAVE_STRIPCHOP=yes])
Packit 7838c8
AC_ARG_WITH(default-strip-size,
Packit 7838c8
	    AS_HELP_STRING([--with-default-strip-size=SIZE],
Packit 7838c8
			   [default size of the strip in bytes (when strip chopping enabled) [[default=8192]]]),,)
Packit 7838c8
Packit 7838c8
if test "$HAVE_STRIPCHOP" = "yes" \
Packit 7838c8
	-a "x$with_default_strip_size" != "xno"; then
Packit 7838c8
  AC_DEFINE(STRIPCHOP_DEFAULT,TIFF_STRIPCHOP,[Support strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of specified size to reduce memory usage)])
Packit 7838c8
Packit 7838c8
  if test "x$with_default_strip_size" = "x" \
Packit 7838c8
	  -o "x$with_default_strip_size" = "xyes"; then
Packit 7838c8
    with_default_strip_size="8192"
Packit 7838c8
  fi
Packit 7838c8
Packit 7838c8
  AC_DEFINE_UNQUOTED(STRIP_SIZE_DEFAULT,$with_default_strip_size,[Default size of the strip in bytes (when strip chopping enabled)])
Packit 7838c8
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Should we try to defer loading of strip/tile offsets and sizes to 
Packit 7838c8
dnl optimize directory scanning?  These is an experimental feature for 
Packit 7838c8
dnl libtiff 4.0.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(defer-strile-load,
Packit 7838c8
	      AS_HELP_STRING([--enable-defer-strile-load],
Packit 7838c8
			     [enable deferred strip/tile offset/size loading (experimental)]),
Packit 7838c8
	      [HAVE_DEFER_STRILE_LOAD=$enableval], [HAVE_DEFER_STRILE_LOAD=no])
Packit 7838c8
Packit 7838c8
if test "$HAVE_DEFER_STRILE_LOAD" = "yes" ; then
Packit 7838c8
  AC_DEFINE(DEFER_STRILE_LOAD,1,[enable deferred strip/tile offset/size loading (experimental)])
Packit 7838c8
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Check for support of CHUNKY_STRIP_READ_SUPPORT, a mechanism to allowing
Packit 7838c8
dnl reading large strips (usually one strip files) in chunks when using
Packit 7838c8
dnl TIFFReadScanline().  This is an experimental feature in libtiff 4.0.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(chunky-strip-read,
Packit 7838c8
	      AS_HELP_STRING([--enable-chunky-strip-read],
Packit 7838c8
			     [enable reading large strips in chunks for TIFFReadScanline() (experimental)]),
Packit 7838c8
	      [HAVE_CHUNKY_STRIP_READ=$enableval], [HAVE_CHUNKY_STRIP_READ=no])
Packit 7838c8
Packit 7838c8
if test "$HAVE_CHUNKY_STRIP_READ" = "yes" ; then
Packit 7838c8
  AC_DEFINE(CHUNKY_STRIP_READ_SUPPORT,1,[enable partial strip reading for large strips (experimental)])
Packit 7838c8
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Default subifd support.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
AC_DEFINE(SUBIFD_SUPPORT,1,[Enable SubIFD tag (330) support])
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Default handling of ASSOCALPHA support.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(extrasample-as-alpha,
Packit 7838c8
	      AS_HELP_STRING([--disable-extrasample-as-alpha],
Packit 7838c8
			     [the RGBA interface will treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA files but don't mark the alpha properly]),
Packit 7838c8
	      [HAVE_EXTRASAMPLE_AS_ALPHA=$enableval],
Packit 7838c8
	      [HAVE_EXTRASAMPLE_AS_ALPHA=yes])
Packit 7838c8
Packit 7838c8
if test "$HAVE_EXTRASAMPLE_AS_ALPHA" = "yes" ; then
Packit 7838c8
  AC_DEFINE(DEFAULT_EXTRASAMPLE_AS_ALPHA, 1,
Packit 7838c8
	    [Treat extra sample as alpha (default enabled). The RGBA interface will treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA files but don't mark the alpha properly.])
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Default handling of YCbCr subsampling support.
Packit 7838c8
dnl See Bug 168 in Bugzilla, and JPEGFixupTestSubsampling() for details.
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_ARG_ENABLE(check-ycbcr-subsampling,
Packit 7838c8
	      AS_HELP_STRING([--disable-check-ycbcr-subsampling],
Packit 7838c8
			     [disable picking up YCbCr subsampling info from the JPEG data stream to support files lacking the tag]),
Packit 7838c8
	      [CHECK_JPEG_YCBCR_SUBSAMPLING=$enableval],
Packit 7838c8
	      [CHECK_JPEG_YCBCR_SUBSAMPLING=yes])
Packit 7838c8
Packit 7838c8
if test "$CHECK_JPEG_YCBCR_SUBSAMPLING" = "yes" ; then
Packit 7838c8
  AC_DEFINE(CHECK_JPEG_YCBCR_SUBSAMPLING, 1,
Packit 7838c8
	    [Pick up YCbCr subsampling info from the JPEG data stream to support files lacking the tag (default enabled).])
Packit 7838c8
fi
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
AC_SUBST(LIBDIR)
Packit 7838c8
Packit 7838c8
AC_CONFIG_HEADERS([libtiff/tif_config.h libtiff/tiffconf.h])
Packit 7838c8
Packit 7838c8
AC_CONFIG_FILES([Makefile \
Packit 7838c8
		 build/Makefile \
Packit 7838c8
		 contrib/Makefile \
Packit 7838c8
		 contrib/addtiffo/Makefile \
Packit 7838c8
		 contrib/dbs/Makefile \
Packit 7838c8
		 contrib/dbs/xtiff/Makefile \
Packit 7838c8
		 contrib/iptcutil/Makefile \
Packit 7838c8
		 contrib/mfs/Makefile \
Packit 7838c8
		 contrib/pds/Makefile \
Packit 7838c8
		 contrib/ras/Makefile \
Packit 7838c8
		 contrib/stream/Makefile \
Packit 7838c8
		 contrib/tags/Makefile \
Packit 7838c8
		 contrib/win_dib/Makefile \
Packit 7838c8
                 html/Makefile \
Packit 7838c8
		 html/images/Makefile \
Packit 7838c8
		 html/man/Makefile \
Packit 7838c8
                 libtiff-4.pc \
Packit 7838c8
                 libtiff/Makefile \
Packit 7838c8
                 man/Makefile \
Packit 7838c8
		 port/Makefile \
Packit 7838c8
		 test/Makefile \
Packit 7838c8
                 tools/Makefile])
Packit 7838c8
AC_OUTPUT
Packit 7838c8
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
dnl Display configuration status
Packit 7838c8
dnl ---------------------------------------------------------------------------
Packit 7838c8
Packit 7838c8
LOC_MSG()
Packit 7838c8
LOC_MSG([Libtiff is now configured for ${host}])
Packit 7838c8
LOC_MSG()
Packit 7838c8
LOC_MSG([  Installation directory:             ${prefix}])
Packit 7838c8
LOC_MSG([  Documentation directory:            ${LIBTIFF_DOCDIR}])
Packit 7838c8
LOC_MSG([  C compiler:                         ${CC} ${CFLAGS}])
Packit 7838c8
LOC_MSG([  C++ compiler:                       ${CXX} ${CXXFLAGS}])
Packit 7838c8
LOC_MSG([  Enable runtime linker paths:        ${HAVE_RPATH}])
Packit 7838c8
LOC_MSG([  Enable linker symbol versioning:    ${have_ld_version_script}])
Packit 7838c8
LOC_MSG([  Support Microsoft Document Imaging: ${HAVE_MDI}])
Packit 7838c8
LOC_MSG([  Use win32 IO:                       ${win32_io_ok}])
Packit 7838c8
LOC_MSG()
Packit 7838c8
LOC_MSG([ Support for internal codecs:])
Packit 7838c8
LOC_MSG([  CCITT Group 3 & 4 algorithms:       ${HAVE_CCITT}])
Packit 7838c8
LOC_MSG([  Macintosh PackBits algorithm:       ${HAVE_PACKBITS}])
Packit 7838c8
LOC_MSG([  LZW algorithm:                      ${HAVE_LZW}])
Packit 7838c8
LOC_MSG([  ThunderScan 4-bit RLE algorithm:    ${HAVE_THUNDER}])
Packit 7838c8
LOC_MSG([  NeXT 2-bit RLE algorithm:           ${HAVE_NEXT}])
Packit 7838c8
LOC_MSG([  LogLuv high dynamic range encoding: ${HAVE_LOGLUV}])
Packit 7838c8
LOC_MSG()
Packit 7838c8
LOC_MSG([ Support for external codecs:])
Packit 7838c8
LOC_MSG([  ZLIB support:                       ${HAVE_ZLIB}])
Packit 7838c8
LOC_MSG([  Pixar log-format algorithm:         ${HAVE_PIXARLOG}])
Packit 7838c8
LOC_MSG([  JPEG support:                       ${HAVE_JPEG}])
Packit 7838c8
LOC_MSG([  Old JPEG support:                   ${HAVE_OJPEG}])
Packit 7838c8
LOC_MSG([  JPEG 8/12 bit dual mode:            ${HAVE_JPEG12}])
Packit 7838c8
LOC_MSG([  ISO JBIG support:                   ${HAVE_JBIG}])
Packit 7838c8
LOC_MSG([  LZMA2 support:                      ${HAVE_LZMA}])
Packit 7838c8
LOC_MSG()
Packit 7838c8
LOC_MSG([  C++ support:                        ${HAVE_CXX}])
Packit 7838c8
LOC_MSG()
Packit 7838c8
dnl LOC_MSG([  X Athena Widgets support:           ${HAVE_XAW}])
Packit 7838c8
LOC_MSG([  OpenGL support:                     ${HAVE_OPENGL}])
Packit 7838c8
LOC_MSG()
Packit 7838c8